[jboss-user] [JBoss AOP] - Re: Method Advised class on getInterceptorChainReadWriteLock
Mike03
do-not-reply at jboss.com
Thu Mar 5 17:12:05 EST 2009
Regarding our issue with the ClassicInstrumentor and class loading:
We found a potential solution for this problem with a tweak to microcontainer/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/GenericBeanAspectFactory.java and updated https://jira.jboss.org/jira/browse/JBAOP-706 with a diff against a 2.0.4.GA checkout.
However, another issue came up when running our app with compile-time using the ClassicInstrumentor and optimized=true - we're getting the following ClassCastException during FieldWriteInvocation of one of our aspectized objects:
| 2009-03-05 12:21:57,221 DEBUG [com.company.common.item.aspect.TransactionalAspect] (main) Line: 582 main org.jboss.aop.ClassAdvisor cannot be cast to com.company.common.item.common.Item$ItemAdvisor
| java.lang.ClassCastException: org.jboss.aop.ClassAdvisor cannot be cast to com.company.common.item.common.Item$ItemAdvisor
| at com.company.common.item.common.Item.itemKey_w_$aop(Item.java)
| at com.company.common.item.common.Item.setItemKey(Item.java:44)
| at com.company.common.item.type.factory.ItemFactory.instantiate(ItemFactory.java:41)
| at com.company.common.cache.impl.LRUCache.getItem(LRUCache.java:236)
| at com.company.common.item.service.impl.ItemService.getItemFromItemKey(ItemService.java:679)
| at com.company.common.item.common.Container.createChildRelationship(Container.java:88)
| at com.company.common.item.common.ContainerItem.createChildRelationship(ContainerItem.java:72)
| at com.company.common.item.service.impl.ItemService.com$company$common$item$service$impl$ItemService$_createItem$aop(ItemService.java:268)
| at com.company.common.item.service.impl.ItemService.access$1(ItemService.java)
| at com.company.common.item.service.impl.ItemService$JoinPoint__createItem_N_6418346684073351391.dispatch(ItemService$JoinPoint__createItem_N_6418346684073351391.java)
| at com.company.common.item.aspect.TransactionalAspect.com$company$common$item$aspect$TransactionalAspect$trace$aop(TransactionalAspect.java:182)
| at com.company.common.item.aspect.TransactionalAspect$JoinPoint_trace5044930021793041279.dispatch(TransactionalAspect$JoinPoint_trace5044930021793041279.java)
| at com.company.rtl.perf.PerfMonitorAspect.trace(PerfMonitorAspect.java:56)
| at com.company.common.item.aspect.TransactionalAspect$TransactionalAspectAdvisor.trace5044930021793041279(TransactionalAspect$TransactionalAspectAdvisor.java)
| at com.company.common.item.aspect.TransactionalAspect.trace(TransactionalAspect.java)
| at com.company.rtl.perf.PerfMonitorAspect.trace(PerfMonitorAspect.java:56)
| at com.company.common.item.service.impl.ItemService$ItemServiceAdvisor._createItem_N_6418346684073351391(ItemService$ItemServiceAdvisor.java)
| at com.company.common.item.service.impl.ItemService$ItemServiceInstanceAdvisor._createItem_N_6418346684073351391(ItemService$ItemServiceInstanceAdvisor.java)
| at com.company.common.item.service.impl.ItemService._createItem(ItemService.java)
| at com.company.common.item.service.impl.ItemService.com$company$common$item$service$impl$ItemService$createItem$aop(ItemService.java:235)
| at com.company.common.item.service.impl.ItemService$JoinPoint_createItem6251048042645984084.dispatch(ItemService$JoinPoint_createItem6251048042645984084.java)
| at com.company.common.item.aspect.TransactionalAspect.com$company$common$item$aspect$TransactionalAspect$trace$aop(TransactionalAspect.java:182)
| at com.company.common.item.aspect.TransactionalAspect$JoinPoint_trace5044930021793041279.dispatch(TransactionalAspect$JoinPoint_trace5044930021793041279.java)
| at com.company.rtl.perf.PerfMonitorAspect.trace(PerfMonitorAspect.java:56)
| at com.company.common.item.aspect.TransactionalAspect$TransactionalAspectAdvisor.trace5044930021793041279(TransactionalAspect$TransactionalAspectAdvisor.java)
| at com.company.common.item.aspect.TransactionalAspect.trace(TransactionalAspect.java)
| at com.company.rtl.perf.PerfMonitorAspect.trace(PerfMonitorAspect.java:56)
| at com.company.common.item.service.impl.ItemService$ItemServiceAdvisor.createItem6251048042645984084(ItemService$ItemServiceAdvisor.java)
| at com.company.common.item.service.impl.ItemService$ItemServiceInstanceAdvisor.createItem6251048042645984084(ItemService$ItemServiceInstanceAdvisor.java)
| at com.company.common.item.service.impl.ItemService.createItem(ItemService.java)
| at com.company.system.executive.storage.impl.BasicExecutive.create(BasicExecutive.java:1635)
| at com.company.system.executive.storage.impl.ContainerExecutive.createChild(ContainerExecutive.java:760)
| at com.company.framework.impl.ItemComponentProvider.com$company$framework$impl$ItemComponentProvider$createComponentDataID$aop(ItemComponentProvider.java:334)
| at com.company.framework.impl.ItemComponentProvider$JoinPoint_createComponentDataID_N_1216227476944167699.dispatch(ItemComponentProvider$JoinPoint_createComponentDataID_N_1216227476944167699.java)
| at com.company.common.item.aspect.TransactionalAspect.com$company$common$item$aspect$TransactionalAspect$trace$aop(TransactionalAspect.java:195)
| at com.company.common.item.aspect.TransactionalAspect$JoinPoint_trace5044930021793041279.dispatch(TransactionalAspect$JoinPoint_trace5044930021793041279.java)
| at com.company.rtl.perf.PerfMonitorAspect.trace(PerfMonitorAspect.java:56)
| at com.company.common.item.aspect.TransactionalAspect$TransactionalAspectAdvisor.trace5044930021793041279(TransactionalAspect$TransactionalAspectAdvisor.java)
| at com.company.common.item.aspect.TransactionalAspect.trace(TransactionalAspect.java)
| at com.company.framework.impl.ItemComponentProvider$ItemComponentProviderAdvisor.createComponentDataID_N_1216227476944167699(ItemComponentProvider$ItemComponentProviderAdvisor.java)
| at com.company.framework.impl.ItemComponentProvider$ItemComponentProviderInstanceAdvisor.createComponentDataID_N_1216227476944167699(ItemComponentProvider$ItemComponentProviderInstanceAdvisor.java)
| at com.company.framework.impl.ItemComponentProvider.createComponentDataID(ItemComponentProvider.java)
| at com.company.framework.impl.ItemComponentProvider.upgradeComponentDataFromBootstrapComponentData(ItemComponentProvider.java:148)
| at com.company.policy.impl.UpgradeComponentData.init(UpgradeComponentData.java:42)
| at com.company.framework.init.impl.DefaultPhase.createComponentData(DefaultPhase.java:87)
| at com.company.policy.impl.BootstrapPhase.createComponentData(BootstrapPhase.java:99)
| at com.company.framework.impl.BaseProvider.initComponents(BaseProvider.java:450)
| at com.company.framework.impl.BaseProvider.init(BaseProvider.java:99)
| at com.company.framework.init.impl.DefaultPhase.init(DefaultPhase.java:46)
| at com.company.policy.impl.BootstrapPhase.init(BootstrapPhase.java:51)
| at com.company.framework.init.impl.DefaultPhaseProvider.initComponent(DefaultPhaseProvider.java:157)
| at com.company.framework.impl.BaseProvider.initComponents(BaseProvider.java:458)
| at com.company.framework.impl.BaseProvider.init(BaseProvider.java:99)
| at com.company.framework.init.impl.DefaultPhaseProvider.initializePhases(DefaultPhaseProvider.java:80)
| at com.company.framework.CoreSystem.init(CoreSystem.java:686)
| at com.company.framework.CoreSystem.main(CoreSystem.java:645)
| at com.company.framework.impl.CoreServlet.init(CoreServlet.java:83)
| at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1048)
| at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:950)
| at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4122)
| at org.apache.catalina.core.StandardContext.start(StandardContext.java:4421)
| at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:312)
| at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:144)
| at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
| at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
| at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
| at $Proxy36.start(Unknown Source)
| at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
| at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
| 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:348)
| at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
| at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
| at org.jboss.system.ServiceController.start(ServiceController.java:460)
| at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
| at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
| at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
| at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
| at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
| at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1210)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
| at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
| at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:698)
| at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:304)
| at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:205)
| at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:405)
| at org.jboss.Main.boot(Main.java:209)
| at org.jboss.Main$1.run(Main.java:547)
| at java.lang.Thread.run(Thread.java:619)
|
We looked at the src generated by JAD for the aspectized object and this particular cast was not apparent. Re-aop-compiling with optimized="false" allowed us to progress past this issue without the ClassCastExceptions.
We'll report back on our luck with the ClassicInstrumentor workaround for the original GeneratedAdvisor locking issue.
thanks, Mike
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4215491#4215491
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4215491
More information about the jboss-user
mailing list