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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...