I've been using Interceptors for this kind of work. However one can only define 
EJB3 interceptors at the class level.

What I do is a workaround, which I find rather nasty, but since I haven't 
thought of another way yet and this works, I'll point it out.

I define an annotation which has Interceptors defined on it, with targets TYPE 
and METHOD. I put it on the class where I want a method to be intercepted and 
put it on the method(s) to be intercepted inside that class as well.

In the aroundInvoke, I do a check on that same annotation being present on the 
calling method. Something like the following:


  |   @AroundInvoke
  |   public Object aroundInvoke(InvocationContext ctx) {
  |     Object result = null;
  |     if(ctx.getMethod().getAnnotation(SomeAnnotation.class) != null) {
  |       try {
  |         result = ....
  |         // The rest of your code  
  |       }
  |       catch( ... ) {
  |       }
  |     }
  |     return result;
  |   }
  | 

Might not be the most elegant method, but it works for me.

I hope that helps you!

Regards,
Jan

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

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

Reply via email to