Uploaded image for project: 'EJB 3.0'
  1. EJB 3.0
  2. EJBTHREE-2165

private @AroundInvoke method on the superclass of a bean not invoked

    XMLWordPrintable

    Details

    • Component Fix Version(s):
      jboss-ejb3-interceptors:1.0.8

      Description

      Consider this bean and its superclass:

      public class BaseBean
      {
      @AroundInvoke
      private Object aroundInvoke(InvocationContext inv) throws Exception

      { System.out.println("In aroundInvoke of base bean"); }

      ...
      }

      @Stateless
      public class BeanA extends BaseBean
      {

      @AroundInvoke
      private Object aroundInvoke(InvocationContext inv) throws Exception

      { System.out.println("In aroundInvoke of BeanA"); }

      }

      When a business method of BeanA is invoked, the aroundInvoke method on the BaseBean is not being called. Only the around invoke method on the BeanA gets called. This goes against the spec (Section "Multiple Method Interceptor Methods" of the interceptors spec).

      The bug lies in org.jboss.ejb3.interceptors.lang.ClassHelper.isOverridden(Method method, Method... methods) which doesn't take into account private method.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jaikiran Jaikiran Pai (Inactive)
              Reporter:
              jaikiran Jaikiran Pai (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: