GitHub user johnament opened a pull request:
https://github.com/apache/activemq-artemis/pull/800
POC for CDI Integration in Artemis
This PR isn't ready to go. However, two issues I'm running into.
- When running tests, it cannot locate the JBoss Log Manager. I'm assuming
theres some JVM arguments missing.
```
Could not load Logmanager "org.jboss.logmanager.LogManager"
java.lang.ClassNotFoundException: org.jboss.logmanager.LogManager
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.util.logging.LogManager$1.run(LogManager.java:195)
at java.util.logging.LogManager$1.run(LogManager.java:181)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.<clinit>(LogManager.java:181)
at
org.jboss.logging.LoggerProviders.tryJBossLogManager(LoggerProviders.java:144)
at
org.jboss.logging.LoggerProviders.findProvider(LoggerProviders.java:85)
at org.jboss.logging.LoggerProviders.find(LoggerProviders.java:34)
at org.jboss.logging.LoggerProviders.<clinit>(LoggerProviders.java:31)
at org.jboss.logging.Logger.getLogger(Logger.java:2465)
at org.jboss.logging.Logger$1.run(Logger.java:2565)
at java.security.AccessController.doPrivileged(Native Method)
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2529)
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2516)
at org.jboss.weld.logging.VersionLogger.<clinit>(VersionLogger.java:35)
at org.jboss.weld.bootstrap.WeldStartup.<clinit>(WeldStartup.java:155)
at org.jboss.weld.bootstrap.WeldBootstrap.<init>(WeldBootstrap.java:53)
at org.jboss.weld.environment.se.Weld.initialize(Weld.java:589)
at
org.apache.activemq.artemis.cdi.bootstrap.CDIBootstrapTest.shouldStartJMS(CDIBootstrapTest.java:50)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
at
org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
at
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
at
org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
```
- Second, and I was hoping it was because I was flying and not paying
attention closely, however I'm stumped. Even though it seems like the message
is being sent, I'm not able to receive it. I also noticed the new CDI API
doesn't give a good way to create a destination.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/johnament/activemq-artemis cdi-client
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/activemq-artemis/pull/800.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #800
----
commit ad3f1fa544e7e2ac51255b515e6022d482b5017f
Author: John D. Ament <[email protected]>
Date: 2016-08-01T02:12:50Z
POC for CDI Integration in Artemis
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---