For me it looks like this: | package fr.toto.interceptor; | | import java.lang.reflect.Method; | import java.lang.reflect.UndeclaredThrowableException; | import java.util.logging.Level; | import java.util.logging.Logger; | | import org.jboss.aop.advice.Interceptor; | import org.jboss.aop.joinpoint.Invocation; | import org.jboss.aop.joinpoint.MethodInvocation; | | /** | * Interceptor in charge to log unexpected exception. | * | * @author jean-cedricwalmetz | * | */ | public class ExceptionHanlderInterceptor implements Interceptor { | /** | * Version number | */ | private final Logger LOGGER = Logger | .getLogger(ExceptionHanlderInterceptor.class.getName()); | | /** | * Log unexpected exception and thows an UndeclaredThrowableException | */ | public Object invoke(Invocation invocation) throws Throwable { | try { | return invocation.invokeNext(); | } catch (Throwable t) { | MethodInvocation methodInvocation = (MethodInvocation) invocation; | Method m = methodInvocation.getMethod(); | Class<?>[] exceptions = m.getExceptionTypes(); | // Exception is an EJBException. | Class<?> clazz = (t.getCause() == null ? t.getClass() : t.getCause() | .getClass());// /*.getCause()*/.getClass(); | for (Class<?> c : exceptions) { | if (c.isAssignableFrom(clazz)) { | throw t; | } | } | long time = System.currentTimeMillis(); | LOGGER.log(Level.SEVERE, "Unexpected exception " + time + ":", t); | // UndeclaredThrowableException is not perfect since I need to | // provide null as parameter to the constructor. But excpetion | // thrown has to be a runtime and must be in classpath on client | // side. | Throwable newException = new UndeclaredThrowableException(null, | "Chained exception has been logged on server with reference " + time | + " !\nMessage was " + t.getMessage()); | throw newException; | } | } | | /** | * Return the name of the interceptor | */ | public String getName() { | return ExceptionHanlderInterceptor.class.getName(); | } | } |
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4005704#4005704 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4005704 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user