AOP 1.5.2 libs being used I'm having problems with construction pointcuts and PER_INSTANCE scope. All other scopes work as expected, but it is PER_INSTANCE that I need.
@Aspect(scope=Scope.PER_INSTANCE) public class MyAspect { private static final Logger log = Logger.getLogger(MyAspect.class); @Bind (pointcut="construction(public MyAspected->new())") public Object constructorAdvice(ConstructionInvocation invocation) throws Throwable { Object master = invocation.invokeNext(); log.info("Constructed Aspect"); return master; } } -- public class MyAspected { private static Logger log = Logger.getLogger( MyAspected.class ); public MyAspected() { log.info("Constructed"); } } -- public class TestMyAspected extends TestCase { static { BasicConfigurator.configure(); } public void testMyAspected() { MyAspected ta = new MyAspected(); } } All scopes work correctly except PER_INSTANCE. With that scope, I get a nasty exception which looks like the AOP framework couldn't find the Advice for the aspected constructor. java.lang.RuntimeException: Should Be Unreachable, but unable to discover Advice at org.jboss.aop.advice.AbstractAdvice.resolveAdvice(AbstractAdvice.java:292) at org.jboss.aop.advice.PerInstanceAdvice.invoke(PerInstanceAdvice.java:125) at org.jboss.aop.joinpoint.ConstructionInvocation.invokeNext(ConstructionInvocation.java:78) at MyAspected.(MyAspected.java:10) at TestMyAspected.testMyAspected(TestMyAspected.java:16) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at junit.framework.TestCase.runTest(TestCase.java:164) at junit.framework.TestCase.runBare(TestCase.java:130) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:120) at junit.framework.TestSuite.runTest(TestSuite.java:228) at junit.framework.TestSuite.run(TestSuite.java:223) Any ideas? View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3982420#3982420 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3982420 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user