[jboss-dev] WarAnnotationMetaDataDeployer and AOP failures
Kabir Khan
kabir.khan at jboss.com
Tue Jan 26 19:06:59 EST 2010
Thanks,
That works although I need to release AOP 2.1.7 before we can test that on Hudson. Or shall I do an AOP 2.1.7-Beta in the morning and upgrade AS to use that? Flavia is looking at the remaining 3 errors we get locally. She is investigating but I think the problem is in the deployers. It seems to be the something to do with
<bean name="AOPXMLMetaDataParserDeployer" class="org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer">
<constructor>
<parameter>org.jboss.aop.microcontainer.beans.metadata.AOPDeployment</parameter>
</constructor>
<property name="suffix">-aop.xml</property>
</bean>
not getting triggered for jboss-aop.xml if we have this structure
aop-scoped1.sar/
aop-scoped1.aop/
META-INF/
jboss-aop.xml
META-INF/
jboss-service.xml
I'm not 100% sure if this is the case, but just to check do we still support nested deployments in sars?
jboss-aop.xml gets picked up with this structure:
aop-scoped2.sar/
jboss-aop.xml
META-INF/
jboss-service.xml
On 26 Jan 2010, at 20:53, Ales Justin wrote:
> Eh, replied few secs too late. :-)
>
> The answer is yes, but *if* you do it via xml config, as string, this
> is then just additional "helper" string.
> AOP usage is completely transparent.
>
> Sent from my iPod
>
> On 26.1.2010, at 21:39, Brian Stansberry <brian.stansberry at redhat.com>
> wrote:
>
>> Will AopMetaDataDeployerOutput always be attached?
>>
>> On 01/26/2010 02:17 PM, Kabir Khan wrote:
>>> The AOP deployer has AopMetaDataDeployerOutput.class as an output,
>>> so I added that to the WarAnnotationMetaDataDeployer as an input.
>>> Is that the right way?
>>> On 26 Jan 2010, at 18:39, Kabir Khan wrote:
>>>
>>>> Flavia and I are debugging the scoped AOP test failures in AS and
>>>> have found something odd going on when deploying an ear with a war
>>>> with classes. Basically WarAnnotationMetaDataDeployer loads all
>>>> the classes in the war [1] before the
>>>> AOPDeploymentAopMetaDataDeployer has the chance to add the
>>>> bindings to the aspect manager [2]. This means that the classes in
>>>> the war are loaded before the bindings are added, so they do not
>>>> get woven. The deployers are in the same deployer stage
>>>> POST_CLASSLOADER, what is the best way to change their orders
>>>> around?
>>>>
>>>> [1]
>>>> Daemon System Thread [RMI TCP Connection(6)-127.0.0.1] (Suspended
>>>> (breakpoint at line 69 in SuperClassesFirstWeavingStrategy))
>>>> SuperClassesFirstWeavingStrategy.translate(AspectManager,
>>>> String, ClassLoader, byte[]) line: 69
>>>> ScopedVFSClassLoaderDomain(AspectManager).translate(String,
>>>> ClassLoader, byte[]) line: 1071
>>>> ScopedVFSClassLoaderDomain(AspectManager).transform
>>>> (ClassLoader, String, Class, ProtectionDomain, byte[]) line: 1015
>>>> AOPTransformer.aspectTransform(String, ClassLoader, Class<?>,
>>>> ProtectionDomain, byte[]) line: 87
>>>> AOPTransformer.transform(ClassLoader, String, Class<?>,
>>>> ProtectionDomain, byte[]) line: 75
>>>> TransformerManager.transform(ClassLoader, String, Class,
>>>> ProtectionDomain, byte[]) line: 169
>>>> InstrumentationImpl.transform(ClassLoader, String, Class,
>>>> ProtectionDomain, byte[], boolean) line: 365
>>>> ClassLoader.defineClass1(String, byte[], int, int,
>>>> ProtectionDomain, String) line: not available [native method]
>>>> BaseClassLoader(ClassLoader).defineClass(String, byte[], int,
>>>> int, ProtectionDomain) line: 698
>>>> BaseClassLoader.access$200(BaseClassLoader, String, byte[],
>>>> int, int, ProtectionDomain) line: 64
>>>> BaseClassLoader$2.run() line: 577
>>>> BaseClassLoader$2.run() line: 537
>>>> AccessController.doPrivileged(PrivilegedAction<T>,
>>>> AccessControlContext) line: not available [native method]
>>>> BaseClassLoader.loadClassLocally(String, boolean) line: 535
>>>> BaseClassLoader.loadClassLocally(String) line: 512
>>>> FilteredDelegateLoader(BaseDelegateLoader).loadClass(String)
>>>> line: 134
>>>> FilteredDelegateLoader.loadClass(String) line: 131
>>>> ClassLoadingTask$ThreadTask.run() line: 455
>>>> ClassLoaderManager.nextTask(Thread, ClassLoadingTask) line: 267
>>>> ClassLoaderManager.process(Thread, ClassLoadingTask) line: 166
>>>> ClassLoaderDomain(BaseClassLoaderDomain).loadClass
>>>> (BaseClassLoader, String, boolean) line: 265
>>>> ClassLoaderDomain(BaseClassLoaderDomain).loadClass
>>>> (BaseClassLoader, String) line: 1124
>>>> BaseClassLoader.loadClassFromDomain(String, boolean) line: 805
>>>> BaseClassLoader.loadClass(String, boolean) line: 445
>>>> BaseClassLoader(ClassLoader).loadClass(String) line: 250
>>>> AnnotatedClassFilter.accepts(VirtualFile) line: 121
>>>> AnnotatedClassFilter.visit(VirtualFile) line: 102
>>>> WrappingVirtualFileHandlerVisitor.visit(VirtualFileHandler)
>>>> line: 62
>>>> FileSystemContext(AbstractVFSContext).visit(VirtualFileHandler,
>>>> VirtualFileHandlerVisitor, boolean, boolean, boolean, boolean,
>>>> VirtualFileFilter) line: 362
>>>> FileSystemContext(AbstractVFSContext).visit(VirtualFileHandler,
>>>> VirtualFileHandlerVisitor, boolean, boolean, boolean, boolean,
>>>> VirtualFileFilter) line: 374
>>>> FileSystemContext(AbstractVFSContext).visit(VirtualFileHandler,
>>>> VirtualFileHandlerVisitor, boolean, boolean, boolean, boolean,
>>>> VirtualFileFilter) line: 374
>>>> FileSystemContext(AbstractVFSContext).visit(VirtualFileHandler,
>>>> VirtualFileHandlerVisitor, boolean, boolean, boolean, boolean,
>>>> VirtualFileFilter) line: 374
>>>> FileSystemContext(AbstractVFSContext).visit(VirtualFileHandler,
>>>> VirtualFileHandlerVisitor, boolean, boolean, boolean, boolean,
>>>> VirtualFileFilter) line: 374
>>>> FileSystemContext(AbstractVFSContext).visit(VirtualFileHandler,
>>>> VirtualFileHandlerVisitor, boolean, boolean, boolean, boolean,
>>>> VirtualFileFilter) line: 374
>>>> FileSystemContext(AbstractVFSContext).visit(VirtualFileHandler,
>>>> VirtualFileHandlerVisitor, boolean, boolean, boolean, boolean,
>>>> VirtualFileFilter) line: 374
>>>> FileSystemContext(AbstractVFSContext).visit(VirtualFileHandler,
>>>> VirtualFileHandlerVisitor) line: 307
>>>> VFS.visit(VirtualFile, VirtualFileVisitor) line: 438
>>>> VirtualFile.visit(VirtualFileVisitor) line: 448
>>>> WarAnnotationMetaDataDeployer.getClasses(VFSDeploymentUnit,
>>>> VirtualFile) line: 172
>>>> WarAnnotationMetaDataDeployer.processMetaData
>>>> (VFSDeploymentUnit, List<VirtualFile>) line: 146
>>>> WarAnnotationMetaDataDeployer.deploy(VFSDeploymentUnit) line: 125
>>>> WarAnnotationMetaDataDeployer.deploy(DeploymentUnit) line: 78
>>>> DeployerWrapper.deploy(DeploymentUnit) line: 179
>>>> DeployersImpl.doDeploy(Deployer, DeploymentUnit) line: 1660
>>>> DeployersImpl.doInstallParentFirst(Deployer, DeploymentContext)
>>>> line: 1378
>>>> DeployersImpl.doInstallParentFirst(Deployer, DeploymentContext)
>>>> line: 1431
>>>> DeployersImpl.install(ControllerContext, ControllerState,
>>>> ControllerState) line: 1319
>>>> DeploymentControllerContext(AbstractControllerContext).install
>>>> (ControllerState, ControllerState) line: 378
>>>> AbstractKernelController(AbstractController).install
>>>> (ControllerContext, ControllerState, ControllerState) line: 1890
>>>> AbstractKernelController(AbstractController).incrementState
>>>> (ControllerContext, boolean) line: 1019
>>>> AbstractKernelController
>>>> (AbstractController).executeOrIncrementStateDirectly
>>>> (ControllerContext, boolean) line: 1251
>>>> AbstractKernelController(AbstractController).resolveContexts
>>>> (ControllerState, ControllerState, boolean) line: 1175
>>>> AbstractKernelController(AbstractController).resolveContexts
>>>> (boolean) line: 1073
>>>> AbstractKernelController(AbstractController).change
>>>> (ControllerContext, ControllerState, boolean) line: 887
>>>> AbstractKernelController(AbstractController).change
>>>> (ControllerContext, ControllerState) line: 602
>>>> DeployersImpl.process(List<DeploymentContext>,
>>>> List<DeploymentContext>) line: 898
>>>> MainDeployerImpl.process() line: 677
>>>> MainDeployer.deploy(URL) line: 370
>>>> MainDeployer.redeploy(URL) line: 277
>>>>
>>>>
>>>> [2]
>>>> Daemon System Thread [RMI TCP Connection(6)-127.0.0.1] (Suspended
>>>> (breakpoint at line 146 in AspectBinding))
>>>> AspectBinding.start() line: 146
>>>> GeneratedMethodAccessor192.invoke(Object, Object[]) line: not
>>>> available
>>>> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
>>>> Method.invoke(Object, Object...) line: 597
>>>> ReflectionUtils.invoke(Method, Object, Object[]) line: 59
>>>> ReflectMethodInfoImpl.invoke(Object, Object[]) line: 151
>>>> BasicMethodJoinPoint.dispatch() line: 66
>>>> KernelControllerContextAction$JoinpointDispatchWrapper.execute
>>>> () line: 257
>>>> KernelControllerContextAction$JoinpointDispatchWrapper
>>>> (ExecutionWrapper).execute(AccessControlContext) line: 47
>>>> KernelControllerContextAction.dispatchExecutionWrapper
>>>> (KernelControllerContext, ExecutionWrapper) line: 125
>>>> KernelControllerContextAction.dispatchJoinPoint
>>>> (KernelControllerContext, Joinpoint) line: 72
>>>> StartStopLifecycleAction(LifecycleAction).installActionInternal
>>>> (KernelControllerContext) line: 202
>>>> StartStopLifecycleAction(InstallsAwareAction).installAction
>>>> (KernelControllerContext) line: 54
>>>> StartStopLifecycleAction(InstallsAwareAction).installAction
>>>> (ControllerContext) line: 42
>>>> StartStopLifecycleAction
>>>> (SimpleControllerContextAction<T>).simpleInstallAction(T) line: 62
>>>> StartStopLifecycleAction
>>>> (AccessControllerContextAction<S,T>).install(ControllerContext)
>>>> line: 71
>>>> KernelControllerContextActions
>>>> (AbstractControllerContextActions).install(ControllerContext,
>>>> ControllerState, ControllerState) line: 51
>>>> AbstractKernelControllerContext
>>>> (AbstractControllerContext).install(ControllerState,
>>>> ControllerState) line: 378
>>>> ScopedKernelController(AbstractController).install
>>>> (ControllerContext, ControllerState, ControllerState) line: 1890
>>>> ScopedKernelController(AbstractController).incrementState
>>>> (ControllerContext, boolean) line: 1019
>>>> ScopedKernelController
>>>> (AbstractController).executeOrIncrementStateDirectly
>>>> (ControllerContext, boolean) line: 1251
>>>> ScopedKernelController(AbstractController).resolveContexts
>>>> (ControllerState, ControllerState, boolean) line: 1175
>>>> ScopedKernelController(AbstractController).resolveContexts
>>>> (boolean) line: 1073
>>>> AbstractKernelController(AbstractController).resolveContexts
>>>> (boolean) line: 1104
>>>> AbstractKernelController(AbstractController).install
>>>> (ControllerContext, boolean) line: 842
>>>> AbstractKernelController(AbstractController).install
>>>> (ControllerContext) line: 589
>>>> AbstractAopMetaDataDeployer$MyBeanMetaDataDeployer.deploy
>>>> (FakeComponentUnit, BeanMetaData) line: 363
>>>> AbstractAopMetaDataDeployer$MyBeanMetaDataDeployer.access$100
>>>> (AbstractAopMetaDataDeployer$MyBeanMetaDataDeployer,
>>>> FakeComponentUnit, BeanMetaData) line: 329
>>>> AOPDeploymentAopMetaDataDeployer
>>>> (AbstractAopMetaDataDeployer<T>).deployBeans(VFSDeploymentUnit,
>>>> AopMetaDataDeployerOutput) line: 269
>>>> AOPDeploymentAopMetaDataDeployer
>>>> (AbstractAopMetaDataDeployer<T>).deploy(VFSDeploymentUnit, T)
>>>> line: 133
>>>> AOPDeploymentAopMetaDataDeployer.deploy(VFSDeploymentUnit,
>>>> AOPDeployment) line: 46
>>>> AOPDeploymentAopMetaDataDeployer.deploy(VFSDeploymentUnit,
>>>> Object) line: 36
>>>> AOPDeploymentAopMetaDataDeployer
>>>> (AbstractSimpleVFSRealDeployer<T>).deploy(DeploymentUnit, T) line:
>>>> 56
>>>> AOPDeploymentAopMetaDataDeployer
>>>> (AbstractSimpleRealDeployer<T>).internalDeploy(DeploymentUnit)
>>>> line: 62
>>>> AOPDeploymentAopMetaDataDeployer(AbstractRealDeployer).deploy
>>>> (DeploymentUnit) line: 55
>>>> DeployerWrapper.deploy(DeploymentUnit) line: 179
>>>> DeployersImpl.doDeploy(Deployer, DeploymentUnit) line: 1660
>>>> DeployersImpl.doInstallParentFirst(Deployer, DeploymentContext)
>>>> line: 1378
>>>> DeployersImpl.doInstallParentFirst(Deployer, DeploymentContext)
>>>> line: 1431
>>>> DeployersImpl.install(ControllerContext, ControllerState,
>>>> ControllerState) line: 1319
>>>> DeploymentControllerContext(AbstractControllerContext).install
>>>> (ControllerState, ControllerState) line: 378
>>>> AbstractKernelController(AbstractController).install
>>>> (ControllerContext, ControllerState, ControllerState) line: 1890
>>>> AbstractKernelController(AbstractController).incrementState
>>>> (ControllerContext, boolean) line: 1019
>>>> AbstractKernelController
>>>> (AbstractController).executeOrIncrementStateDirectly
>>>> (ControllerContext, boolean) line: 1251
>>>> AbstractKernelController(AbstractController).resolveContexts
>>>> (ControllerState, ControllerState, boolean) line: 1175
>>>> AbstractKernelController(AbstractController).resolveContexts
>>>> (boolean) line: 1073
>>>> AbstractKernelController(AbstractController).change
>>>> (ControllerContext, ControllerState, boolean) line: 887
>>>> AbstractKernelController(AbstractController).change
>>>> (ControllerContext, ControllerState) line: 602
>>>> DeployersImpl.process(List<DeploymentContext>,
>>>> List<DeploymentContext>) line: 898
>>>> MainDeployerImpl.process() line: 677
>>>> MainDeployer.deploy(URL) line: 370
>>>> MainDeployer.redeploy(URL) line: 277
>>>>
>>>>
>>>> _______________________________________________
>>>> jboss-development mailing list
>>>> jboss-development at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>
>>>
>>> _______________________________________________
>>> jboss-development mailing list
>>> jboss-development at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>
>>
>> --
>> Brian Stansberry
>> Lead, AS Clustering
>> JBoss by Red Hat
>> _______________________________________________
>> jboss-development mailing list
>> jboss-development at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jboss-development
> _______________________________________________
> jboss-development mailing list
> jboss-development at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-development
More information about the jboss-development
mailing list