[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