This content has been marked as final.
Show 3 replies
-
1. Re: Duplicate Interceptor, class hierarch in several jars
alexanderbell Nov 19, 2010 2:53 AM (in response to robsonximenes)how looks your beans.xml regarding interceptor declaration?
-
2. Re: Duplicate Interceptor, class hierarch in several jars
robsonximenes Nov 19, 2010 6:26 AM (in response to robsonximenes)This is my core beans.xml where i defined the interceptor and where is located the @Controller class...
<?xml version="1.0"?> <beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd"> <interceptors> <class>my.package.TransactionInterceptor</class> </interceptors> </beans>
And here comes the same beans.xml that are in the others jars and webapp;
<?xml version="1.0"?> <beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd"> </beans>
The problem i believe is that i have an class in the webapp project that extends one from my jars, so the interceptors get confused...
-
3. Re: Duplicate Interceptor, class hierarch in several jars
robsonximenes Nov 19, 2010 6:32 AM (in response to robsonximenes)Correcting: the beans.xml from core is like this:
<?xml version="1.0"?> <beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd"> <interceptors> <class>my.package.ExceptionHandlerInterceptor</class> </interceptors> </beans>
This is the interceptor:
@Interceptor @Controller public class ExceptionHandlerInterceptor implements Serializable{ @AroundInvoke public Object manage(final InvocationContext ctx) throws Exception { .... } }
And this is the @Controller:
@InterceptorBinding @Inherited @Target({ TYPE, METHOD }) @Retention(RUNTIME) public @interface Controller { }