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 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
