Hi,

I want to weave interceptors which loaded by a user-defined class loader (like 
NetworkClassLoader), but I got a javassist.NotFoundException. My code is as 
follows


  | ClassLoader loader = new ... // my class loader
  | Thread.currentThread().setContextClassLoader(loader);
  | Class clazz = Class.forName("aspect.GreetingInterceptor", false, loader); 
  | 
  | AdviceBinding binding = new AdviceBinding();
  | binding.setPointcutExpression("execution(* *.Test->*(..))");
  | binding.addInterceptor(clazz);
  | AspectManager.instance().addBinding(binding);
  | 
  | Test t = new Test();
  | t.print();
  |     

My class loader reads aspect.GreetingInterceptor.class file and calls 
defineClass() to load it. At the end of the code above, 
aspect.GreetingInterceptor is supposed to be invoked. When 
aspect.GreetingInterceptor is in classpath and specified as 
addInterceptor(aspect.GreetingInterceptor.class), it works fine. However, I got 
following exception when aspect.GreetingInterceptor is loaded dynamically.


  | Exception generating JoinPoint_print4216308509294254048_1: 
aspect.GreetingInterceptor
  | java.lang.RuntimeException: Error generating joinpoint class for joinpoint 
Method[method=public void
  |  Test.print()]
  |     at 
org.jboss.aop.instrument.JoinPointGenerator.doGenerateJoinPointClass(JoinPointGenerator.java:321
  | )
  |     ...
  | 
  | Caused by: javassist.NotFoundException: aspect.GreetingInterceptor
  |     at javassist.ClassPool.get(ClassPool.java:436)
  |     at 
org.jboss.aop.util.ReflectToJavassist.classToJavassist(ReflectToJavassist.java:49)
  |     at 
org.jboss.aop.instrument.JoinPointGenerator$AdviceSetup.<init>(JoinPointGenerator.java:1390)
  |     ...
  | 

Does anyone know how I can use dynamically loaded class as an interceptor?

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4148725#4148725

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4148725
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to