[forge-dev] Help needed

Stuart Douglas stuart.w.douglas at gmail.com
Thu Nov 1 21:01:06 EDT 2012


It looks like you have circular dependencies in that branch that means 
it is not buildable with a clean maven repository (remove all 
org.jboss.forge artifacts from your local repo and you should see what I 
mean).



Stuart

Lincoln Baxter, III wrote:
> FYI - This is how it should look when you reproduce the problem. What's
> happening in this case is that Forge is starting up just fine in the
> test, but for some reason the ContainerServiceExtension is not
> intercepting the service classes deployed in one of the addons.
>
> This makes me think that the system classloader is being scanned
> properly, but that there is a subtle problem with the module structure
> defined by AddonModuleLoader that is preventing these classes from being
> scanned. Either that, or the ModularURLScanner class requires
> modifications to work within the Surefire environment.
>
> -------------------------------------------------------
>   T E S T S
> -------------------------------------------------------
> Running org.example.AddonDependencyTest
> Starting addon(s) [dependency:main]
> Nov 1, 2012 7:12:23 PM org.jboss.weld.bootstrap.WeldBootstrap <clinit>
> INFO: WELD-000900 2.0.0 (Alpha3)
> Nov 1, 2012 7:12:24 PM org.jboss.weld.bootstrap.WeldBootstrap startContainer
> INFO: WELD-000101 Transactional services not available. Injection of
> @Inject UserTransaction not available. Transactional observers will be
> invoked synchronously.
> Nov 1, 2012 7:12:24 PM
> org.jboss.weld.interceptor.util.InterceptionTypeRegistry <clinit>
> WARNING: Class 'javax.ejb.PostActivate' not found, interception based on
> it is not enabled
> Nov 1, 2012 7:12:24 PM
> org.jboss.weld.interceptor.util.InterceptionTypeRegistry <clinit>
> WARNING: Class 'javax.ejb.PrePassivate' not found, interception based on
> it is not enabled
> Starting container [dependency:main]
> Services loaded from addon module [dependency:main] - [class
> org.example.published.PublishedService]
> Starting addon(s) [919307ca-cd39-46a6-a641-ff50055f6db2:main]
> Nov 1, 2012 7:12:27 PM org.jboss.weld.bootstrap.WeldBootstrap startContainer
> INFO: WELD-000101 Transactional services not available. Injection of
> @Inject UserTransaction not available. Transactional observers will be
> invoked synchronously.
> Starting container [919307ca-cd39-46a6-a641-ff50055f6db2:main]
> 2012-11-01 19:12:27.558:INFO:oejs.Server:jetty-8.1.5.v20120716
> 2012-11-01 19:12:27.622:INFO:oejs.AbstractConnector:Started
> SelectChannelConnector at 127.0.0.1:4141
> <http://SelectChannelConnector@127.0.0.1:4141>
> Remote test server started.
> Exception in thread "919307ca-cd39-46a6-a641-ff50055f6db2:main"
> org.jboss.forge.container.exception.ContainerException: [Thread -
> 919307ca-cd39-46a6-a641-ff50055f6db2:main] Error invoking Task within
> ClassLoader [ModuleClassLoader for Module
> "919307ca-cd39-46a6-a641-ff50055f6db2:main" from AddonModuleLoader]
>      at
> org.jboss.forge.container.util.ClassLoaders.executeIn(ClassLoaders.java:33)
>      at org.jboss.forge.container.AddonRunnable.run(AddonRunnable.java:41)
>      at java.lang.Thread.run(Thread.java:680)
> Caused by: java.lang.NullPointerException
>      at
> org.example.consuming.ConsumingService.getMessage(ConsumingService.java:25)
>      at
> org.example.consuming.ConsumingService.postStartup(ConsumingService.java:20)
>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>      at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>      at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>      at java.lang.reflect.Method.invoke(Method.java:597)
>      at
> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:267)
>      at
> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)
>      at
> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)
>      at
> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:263)
>      at
> org.jboss.weld.annotated.runtime.InvokableAnnotatedMethod.invokeOnInstance(InvokableAnnotatedMethod.java:82)
>      at
> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:97)
>      at
> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:259)
>      at
> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:246)
>      at
> org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:221)
>      at
> org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:225)
>      at
> org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:129)
>      at
> org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:97)
>      at
> org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:77)
>      at
> org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:70)
>      at
> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:625)
>      at
> org.jboss.forge.container.ContainerControlImpl.start(ContainerControlImpl.java:54)
>      at
> org.jboss.forge.container.ContainerControlImpl.bootstrap(ContainerControlImpl.java:37)
>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>      at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>      at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>      at java.lang.reflect.Method.invoke(Method.java:597)
>      at
> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:267)
>      at
> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)
>      at
> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)
>      at
> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:263)
>      at
> org.jboss.weld.annotated.runtime.InvokableAnnotatedMethod.invokeOnInstance(InvokableAnnotatedMethod.java:82)
>      at
> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:97)
>      at
> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:259)
>      at
> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:246)
>      at
> org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:221)
>      at
> org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:225)
>      at
> org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:129)
>      at
> org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:97)
>      at
> org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:77)
>      at
> org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:70)
>      at
> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:625)
>      at
> org.jboss.forge.container.AddonRunnable$1.call(AddonRunnable.java:57)
>      at
> org.jboss.forge.container.util.ClassLoaders.executeIn(ClassLoaders.java:29)
>      ... 2 more
> Stopping addon(s) [919307ca-cd39-46a6-a641-ff50055f6db2:main]
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 8.032
> sec <<< FAILURE!
>
>
>
> On Thu, Nov 1, 2012 at 3:51 PM, Lincoln Baxter, III
> <lincolnbaxter at gmail.com <mailto:lincolnbaxter at gmail.com>> wrote:
>
>     Hey Everyone!
>
>     I've been working on Forge 2.0, and it looks like I've hit a very
>     strange problem that I am having difficulty solving. It involves
>     Surefire Maven Plugin and the Forge Arquillian tests.
>
>     The tests work fine in eclipse, because Eclipse launches using a
>     real java classpath, however...
>
>     Because of how Surefire handles classloading
>     <http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html>,
>     Forge is not properly finding classes, booting weld, and loading
>     addons. I've gotten close to a solution a few times, but I've not
>     been able to find the exact concoction that gets things working.
>
>     Anyone have experience with this feel like taking a look?
>
>     Just check out the Forge 2.0 branch from
>     https://github.com/forge/core, first *cd* into the maven-far-plugin
>     directory, install it with `mvn clean install`, then return to the
>     main directory and run `mvn clean install`, you should then see the
>     failures I am describing.
>
>     Thanks!
>
>     --
>     Lincoln Baxter, III
>     http://ocpsoft.org
>     "Simpler is better."
>
>
>
>
> --
> Lincoln Baxter, III
> http://ocpsoft.org
> "Simpler is better."


More information about the forge-dev mailing list