[jboss-jira] [JBoss JIRA] Commented: (JBAS-8249) CDI Extensions must be added to DU's classloader through an integration deployer
Marius Bogoevici (JIRA)
jira-events at lists.jboss.org
Fri Jul 23 14:00:33 EDT 2010
[ https://jira.jboss.org/browse/JBAS-8249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12540817#action_12540817 ]
Marius Bogoevici commented on JBAS-8249:
----------------------------------------
The actual error being thrown with Weld 1.1 is below[1]:
As explained before, the main problem is that the classloader for a couple of extensions is the respective classloader of the deployer that loaded it. As explained previously, adding these extensions directly to the Deployment Unit's CL resolves the problem.
[1]
12:45:57,716 INFO [org.jboss.profileservice.management.upload.remoting.DeployHandler] invoke, payload: {DeploymentTargetID=names=[org.jboss.weld.tests.producer.method.ManagerProducerTest.war], clientAddress=/127.0.0.1}, parameter: remove
12:45:57,717 WARN [org.jboss.profileservice.management.upload.remoting.DeployHandler] Failed to complete command: [remove] for deployment: names=[org.jboss.weld.tests.producer.method.ManagerProducerTest.war]: org.jboss.profileservice.spi.NoSuchDeploymentException: org.jboss.weld.tests.producer.method.ManagerProducerTest.war
at org.jboss.profileservice.plugins.deploy.AbstractDeployHandler.resolveProfileForDeployment(AbstractDeployHandler.java:291) [:0.1.0.Alpha1]
at org.jboss.profileservice.plugins.deploy.AbstractDeployHandler.resolveProfiles(AbstractDeployHandler.java:248) [:0.1.0.Alpha1]
at org.jboss.profileservice.plugins.deploy.AbstractDeployHandler.removeDeployments(AbstractDeployHandler.java:201) [:0.1.0.Alpha1]
at org.jboss.profileservice.management.upload.remoting.DeployHandlerDelegate.removeDeployments(DeployHandlerDelegate.java:84) [:6.0.0-SNAPSHOT]
at org.jboss.profileservice.management.upload.remoting.DeployHandler.invoke(DeployHandler.java:156) [:6.0.0-SNAPSHOT]
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:898) [:]
at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:791) [:]
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:744) [:]
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:548) [:]
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234) [:]
12:46:16,443 INFO [org.jboss.profileservice.management.upload.remoting.DeployHandler] invoke, payload: {DeploymentTargetID=names=[org.jboss.weld.tests.producer.method.ManagerProducerTest.war], clientAddress=/127.0.0.1}, parameter: start
12:46:19,071 INFO [org.jboss.weld.Version] WELD-000900 1.1.0 (SNAPSHOT)
Listening for transport dt_socket at address: 5005
12:46:45,002 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Start: name=vfs:///opt/jboss/jboss-6.0.0-SNAPSHOT/server/default/deploy/org.jboss.weld.tests.producer.method.ManagerProducerTest.war_WeldBootstrapBean state=Create: org.jboss.weld.exceptions.DefinitionException: Exception List with 1 exceptions:
Exception 0 :
com.google.common.collect.ComputationException: org.jboss.weld.exceptions.WeldException: org.jboss.weld.bean.proxy.BeanInstance
at com.google.common.collect.MapMaker$StrategyImpl.compute(MapMaker.java:602)
at com.google.common.collect.MapMaker$StrategyImpl.compute(MapMaker.java:462)
at com.google.common.collect.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2045)
at org.jboss.weld.bean.proxy.ClientProxyProvider.getClientProxy(ClientProxyProvider.java:104)
at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:650)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:234)
at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:216)
at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:604)
at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:597)
at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:67)
at org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:42)
at org.jboss.weld.bootstrap.events.ProcessAnnotatedTypeImpl.fire(ProcessAnnotatedTypeImpl.java:44)
at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:65)
at org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:92)
at org.jboss.weld.bootstrap.BeanDeployment.deployBeans(BeanDeployment.java:108)
at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:392)
at org.jboss.weld.integration.deployer.env.helpers.BootstrapBean.boot(BootstrapBean.java:121)
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.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:60)
at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:168)
at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66)
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:257)
at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47)
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:125)
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:72)
at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:202)
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54)
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42)
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083)
at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654)
at org.jboss.deployers.plugins.deployers.DeployersImpl.change(DeployersImpl.java:1983)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:1076)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:679)
at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.process(MainDeployerPlugin.java:106)
at org.jboss.profileservice.dependency.ProfileControllerContext$DelegateDeployer.process(ProfileControllerContext.java:130)
at org.jboss.profileservice.plugins.deploy.actions.DeploymentStartAction.doPrepare(DeploymentStartAction.java:98)
at org.jboss.profileservice.management.actions.AbstractTwoPhaseModificationAction.prepare(AbstractTwoPhaseModificationAction.java:100)
at org.jboss.profileservice.management.ModificationSession.prepare(ModificationSession.java:87)
at org.jboss.profileservice.management.AbstractActionController.internalPerfom(AbstractActionController.java:234)
at org.jboss.profileservice.management.AbstractActionController.performWrite(AbstractActionController.java:213)
at org.jboss.profileservice.management.AbstractActionController.perform(AbstractActionController.java:150)
at org.jboss.profileservice.plugins.deploy.AbstractDeployHandler.startDeployments(AbstractDeployHandler.java:168)
at org.jboss.profileservice.management.upload.remoting.DeployHandlerDelegate.startDeployments(DeployHandlerDelegate.java:74)
at org.jboss.profileservice.management.upload.remoting.DeployHandler.invoke(DeployHandler.java:148)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:898)
at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:791)
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:744)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:548)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234)
Caused by: org.jboss.weld.exceptions.WeldException: org.jboss.weld.bean.proxy.BeanInstance
at org.jboss.weld.bean.proxy.ProxyFactory.getProxyClass(ProxyFactory.java:212)
at org.jboss.weld.bean.proxy.ProxyFactory.create(ProxyFactory.java:159)
at org.jboss.weld.bean.proxy.ClientProxyProvider.createClientProxy(ClientProxyProvider.java:89)
at org.jboss.weld.bean.proxy.ClientProxyProvider.access$000(ClientProxyProvider.java:40)
at org.jboss.weld.bean.proxy.ClientProxyProvider$1.apply(ClientProxyProvider.java:53)
at org.jboss.weld.bean.proxy.ClientProxyProvider$1.apply(ClientProxyProvider.java:44)
at com.google.common.collect.MapMaker$StrategyImpl.compute(MapMaker.java:592)
... 60 more
Caused by: org.jboss.weld.exceptions.WeldException: org.jboss.weld.bean.proxy.BeanInstance
at org.jboss.weld.bean.proxy.ProxyFactory.addFields(ProxyFactory.java:356)
at org.jboss.weld.bean.proxy.ProxyFactory.createProxyClass(ProxyFactory.java:299)
at org.jboss.weld.bean.proxy.ProxyFactory.getProxyClass(ProxyFactory.java:208)
... 66 more
Caused by: javassist.NotFoundException: org.jboss.weld.bean.proxy.BeanInstance
at javassist.ClassPool.get(ClassPool.java:436)
at org.jboss.weld.bean.proxy.ProxyFactory.addFields(ProxyFactory.java:350)
... 68 more
at org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:45)
at org.jboss.weld.bootstrap.events.ProcessAnnotatedTypeImpl.fire(ProcessAnnotatedTypeImpl.java:44)
at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:65)
at org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:92)
at org.jboss.weld.bootstrap.BeanDeployment.deployBeans(BeanDeployment.java:108)
at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:392)
at org.jboss.weld.integration.deployer.env.helpers.BootstrapBean.boot(BootstrapBean.java:121) [:6.0.0-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_20]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_20]
at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_20]
at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:60) [jboss-reflect.jar:2.2.0.Alpha9]
at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:168) [jboss-reflect.jar:2.2.0.Alpha9]
at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66) [jboss-reflect.jar:2.2.0.Alpha9]
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:257) [jboss-kernel.jar:2.2.0.Alpha10]
at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47) [jboss-kernel.jar:2.2.0.Alpha10]
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:125) [jboss-kernel.jar:2.2.0.Alpha10]
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:72) [jboss-kernel.jar:2.2.0.Alpha10]
at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:202) [jboss-kernel.jar:2.2.0.Alpha10]
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54) [jboss-kernel.jar:2.2.0.Alpha10]
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42) [jboss-kernel.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.deployers.plugins.deployers.DeployersImpl.change(DeployersImpl.java:1983) [:2.2.0.Alpha6]
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:1076) [:2.2.0.Alpha6]
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:679) [:2.2.0.Alpha6]
at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.process(MainDeployerPlugin.java:106) [:6.0.0-SNAPSHOT]
at org.jboss.profileservice.dependency.ProfileControllerContext$DelegateDeployer.process(ProfileControllerContext.java:130) [:0.1.0.Alpha1]
at org.jboss.profileservice.plugins.deploy.actions.DeploymentStartAction.doPrepare(DeploymentStartAction.java:98) [:0.1.0.Alpha1]
at org.jboss.profileservice.management.actions.AbstractTwoPhaseModificationAction.prepare(AbstractTwoPhaseModificationAction.java:100) [:0.1.0.Alpha1]
at org.jboss.profileservice.management.ModificationSession.prepare(ModificationSession.java:87) [:0.1.0.Alpha1]
at org.jboss.profileservice.management.AbstractActionController.internalPerfom(AbstractActionController.java:234) [:0.1.0.Alpha1]
at org.jboss.profileservice.management.AbstractActionController.performWrite(AbstractActionController.java:213) [:0.1.0.Alpha1]
at org.jboss.profileservice.management.AbstractActionController.perform(AbstractActionController.java:150) [:0.1.0.Alpha1]
at org.jboss.profileservice.plugins.deploy.AbstractDeployHandler.startDeployments(AbstractDeployHandler.java:168) [:0.1.0.Alpha1]
at org.jboss.profileservice.management.upload.remoting.DeployHandlerDelegate.startDeployments(DeployHandlerDelegate.java:74) [:6.0.0-SNAPSHOT]
at org.jboss.profileservice.management.upload.remoting.DeployHandler.invoke(DeployHandler.java:148) [:6.0.0-SNAPSHOT]
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:898) [:]
at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:791) [:]
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:744) [:]
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:548) [:]
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234) [:]
> CDI Extensions must be added to DU's classloader through an integration deployer
> ---------------------------------------------------------------------------------
>
> Key: JBAS-8249
> URL: https://jira.jboss.org/browse/JBAS-8249
> Project: JBoss Application Server
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: Weld/CDI
> Affects Versions: 6.0.0.M4
> Reporter: Marius Bogoevici
> Assignee: Marius Bogoevici
> Fix For: 6.0.0.Final
>
>
> CDI integration features of the various JBoss components may use portable extensions for interacting with the CDI container.
> Wherever that is the case, make sure that the jars containing the extensions are added to deployment unit's classloader and not to the deployer's classloader (the default), as they should effectively become parts of the application that is being deployed.
> Also, splitting the application classes between deployers and deployment unit doesn't work with Weld 1.1's proxification mechanism.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list