[jboss-jira] [JBoss JIRA] Updated: (JBAOP-359) Improve error reporting of aspect mismatches

Kabir Khan (JIRA) jira-events at lists.jboss.org
Wed Mar 21 14:18:52 EDT 2007


     [ http://jira.jboss.com/jira/browse/JBAOP-359?page=all ]

Kabir Khan updated JBAOP-359:
-----------------------------

    Fix Version/s: 2.0.0.alpha5
                       (was: 2.0.0.alpha4)

> Improve error reporting of aspect mismatches
> --------------------------------------------
>
>                 Key: JBAOP-359
>                 URL: http://jira.jboss.com/jira/browse/JBAOP-359
>             Project: JBoss AOP
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>            Reporter: Scott M Stark
>         Assigned To: Kabir Khan
>             Fix For: 2.0.0.alpha5
>
>
> Given an aspect like:
> public class MainDeployerAspect 
> {
>    public String getName()
>    {
>       return this.getClass().getName();
>    }
>    public Object process(Invocation invocation) throws Throwable
>    {
>       return invocation.invokeNext();
>    }
> }
> and an aop:lifecycle-configure like:
> <aop:lifecycle-configure xmlns:aop="urn:jboss:aop-beans:1.0"
>      name="MainDeployerAspect"
>      class="org.jboss.profileservice.aop.MainDeployerAspect"
>      classes="org.jboss.deployers.spi.deployment.MainDeployer"
>      manager-bean="AspectManager"
>      manager-property="aspectManager"
>      pointcut="execution(* $instanceof{org.jboss.deployers.spi.deployment.MainDeployer}->process(..))">
> </aop:lifecycle-configure>
> startup of jboss5 fails with:
> 22:47:05,635 ERROR [AbstractKernelController] Error installing to Described: name=MainDeployer state=Not Installed
> java.lang.RuntimeException: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
>         at org.jboss.aop.advice.AdviceFactory.create(AdviceFactory.java:72)
>         at org.jboss.aop.Advisor.createInterceptorChain(Advisor.java:778)
>         at org.jboss.aop.Advisor.pointcutResolved(Advisor.java:1072)
>         at org.jboss.aop.MethodMatchInfo.applyBinding(MethodMatchInfo.java:139)        at org.jboss.aop.MethodMatchInfo.overridePopulateBindings(MethodMatchInfo.java:130)
>         at org.jboss.aop.MethodMatchInfo.populateBindings(MethodMatchInfo.java:79)
>         at org.jboss.aop.Advisor.finalizeMethodChain(Advisor.java:823)
>         at org.jboss.aop.ClassContainer.createInterceptorChains(ClassContainer.java:257)
>         at org.jboss.aop.ClassContainer.rebuildInterceptors(ClassContainer.java:123)
>         at org.jboss.aop.ClassContainer.initializeClassContainer(ClassContainer.java:60)
>         at org.jboss.aop.proxy.container.ClassProxyContainer.initialise(ClassProxyContainer.java:174)
>         at org.jboss.aop.proxy.container.ContainerCache.createContainer(ContainerCache.java:183)
>         at org.jboss.aop.proxy.container.ContainerCache.createAndCacheContainer(ContainerCache.java:171)
>         at org.jboss.aop.proxy.container.ContainerCache.initClassContainer(ContainerCache.java:159)
>         at org.jboss.aop.proxy.container.ContainerCache.initialise(ContainerCache.java:92)
>         at org.jboss.aop.proxy.container.ContainerCache.initialise(ContainerCache.java:72)
>         at org.jboss.aop.microcontainer.integration.AOPDependencyBuilderDelegate.getDependencies(AOPDependencyBuilderDelegate.java:94)
>         at org.jboss.aop.microcontainer.integration.AOPDependencyBuilder.getDependencies(AOPDependencyBuilder.java:51)
>         at org.jboss.classadapter.plugins.BasicClassAdapter.getDependencies(BasicClassAdapter.java:79)
>         at org.jboss.beans.info.plugins.AbstractBeanInfo.getDependencies(AbstractBeanInfo.java:163)
>         at org.jboss.kernel.plugins.dependency.DescribeAction.installActionInternal(DescribeAction.java:64)
>         at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.installAction(KernelControllerContextAction.java:197)
>         at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.install(KernelControllerContextAction.java:136)
>         at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
>         at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:233)
>         at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:709)
>         at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:430)
>         at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:540)
>         at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:474)
>         at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:274)
>         at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:177)
>         at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBean(AbstractKernelDeployer.java:302)
>         at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBeans(AbstractKernelDeployer.java:272)
>         at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deploy(AbstractKernelDeployer.java:119)
>         at org.jboss.kernel.plugins.deployment.BasicKernelDeployer.deploy(BasicKernelDeployer.java:64)
>         at org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer.deploy(BasicXMLDeployer.java:76)
>         at org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer.deploy(BasicXMLDeployer.java:146)
>         at org.jboss.system.server.profileservice.ProfileServiceBootstrap.deploy(ProfileServiceBootstrap.java:291)
>         at org.jboss.system.server.profileservice.ProfileServiceBootstrap.bootstrap(ProfileServiceBootstrap.java:222)
>         at org.jboss.kernel.plugins.bootstrap.AbstractBootstrap.run(AbstractBootstrap.java:89)
>         at org.jboss.system.server.profileservice.ServerImpl.doStart(ServerImpl.java:403)
>         at org.jboss.system.server.profileservice.ServerImpl.start(ServerImpl.java:342)
>         at org.jboss.Main.boot(Main.java:210)
>         at org.jboss.Main$1.run(Main.java:508)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
>         at java.util.ArrayList.RangeCheck(ArrayList.java:546)
>         at java.util.ArrayList.get(ArrayList.java:321)
>         at org.jboss.aop.advice.PerVmAdvice.generateInterceptor(PerVmAdvice.java:175)
>         at org.jboss.aop.advice.PerVmAdvice.generateOptimized(PerVmAdvice.java:53)
>         at org.jboss.aop.advice.AdviceFactory.create(AdviceFactory.java:68)
>         ... 44 more
> The problem is that there is no invoke(..) in the aspect. The error should be clearer, and there should be a way to map the pointcut to a method of the aspect.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list