You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by xu...@apache.org on 2011/05/10 14:57:19 UTC
svn commit: r1101448 -
/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/InterceptorBindingBuilder.java
Author: xuhaihong
Date: Tue May 10 12:57:18 2011
New Revision: 1101448
URL: http://svn.apache.org/viewvc?rev=1101448&view=rev
Log:
OPENEJB-1546 currently, the inteceptor build only handle the public methods of the bean instead of all methods. (Patch from Shawn Jiang)
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/InterceptorBindingBuilder.java
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/InterceptorBindingBuilder.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/InterceptorBindingBuilder.java?rev=1101448&r1=1101447&r2=1101448&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/InterceptorBindingBuilder.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/InterceptorBindingBuilder.java Tue May 10 12:57:18 2011
@@ -113,14 +113,22 @@ public class InterceptorBindingBuilder {
toMethods(clazz, beanInfo.aroundTimeout, beanAsInterceptor.getAroundTimeout());
}
- for (Method method : beanContext.getBeanClass().getMethods()) {
- List<InterceptorData> methodInterceptors = createInterceptorDatas(method, beanInfo.ejbName, this.bindings);
-
- // The bean itself gets to intercept too and is always last.
- methodInterceptors.add(beanAsInterceptor);
-
- beanContext.setMethodInterceptors(method, methodInterceptors);
+
+ while (clazz != null && !clazz.equals(Object.class))
+ {
+
+ for (Method method : clazz.getDeclaredMethods()) {
+ List<InterceptorData> methodInterceptors = createInterceptorDatas(method, beanInfo.ejbName, this.bindings);
+
+ // The bean itself gets to intercept too and is always last.
+ methodInterceptors.add(beanAsInterceptor);
+ beanContext.setMethodInterceptors(method, methodInterceptors);
+ }
+
+ clazz = clazz.getSuperclass();
+
}
+
List<InterceptorData> callbackInterceptorDatas = createInterceptorDatas(null, beanInfo.ejbName, this.packageAndClassBindings);