[jboss-user] [JBoss AOP] New message: "Re: Problem with AOP arond advice in JBoss trunk"

Kabir Khan do-not-reply at jboss.com
Tue Jan 26 15:19:59 EST 2010


User development,

A new message was posted in the thread "Problem with AOP arond advice in JBoss trunk":

http://community.jboss.org/message/522408#522408

Author  : Kabir Khan
Profile : http://community.jboss.org/people/kabir.khan@jboss.com

Message:
--------------------------------------------------------------
I am looking into some failures with scoped aop and wars and found this, which I have posted to dev list. If my fix is correct I'll commit that tomorrow
 
-------------
 
 *Subject:*  *Re: [jboss-dev] WarAnnotationMetaDataDeployer and AOP failures*
 *From:*  Kabir Khan <mailto:kabir.khan at jboss.com>
 *Date:*  26 January 2010 20:17:26 GMT
 *To:*  JBoss.org development list <mailto:jboss-development at lists.jboss.org>
 
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
> 
> mailto:jboss-development at lists.jboss.org
> 
> https://lists.jboss.org/mailman/listinfo/jboss-development
> 
 

--------------------------------------------------------------

To reply to this message visit the message page: http://community.jboss.org/message/522408#522408




More information about the jboss-user mailing list