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

Reply via email to