[jboss-dev] WarAnnotationMetaDataDeployer and AOP failures

Brian Stansberry brian.stansberry at redhat.com
Tue Jan 26 19:19:23 EST 2010


We should still support a deployment like your aop-scoped1.sar example.

These tests were passing on Jan 10[1] so for sure we didn't decide to 
change what we support since then. ;-)

[1] 
http://hudson.qa.jboss.com/hudson/view/JBoss%20AS/job/JBoss-AS-6.0.x-testSuite-sun16/498/testReport/org.jboss.test.aop.test/

On 01/26/2010 06:06 PM, Kabir Khan wrote:
> 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
>
>
> _______________________________________________
> 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



More information about the jboss-development mailing list