Uploaded image for project: 'OpenEJB'
  1. OpenEJB
  2. OPENEJB-1099

Reentrant calls to Stateful beans unsupported

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.1, 3.1.1, 3.1.2
    • 4.0-beta-1
    • container system
    • None

    Description

      A stateful bean should be able to invoke itself via its business interface. The following code should work:

      @Stateful
      public class MySessionBean implements MySessionBeanLocal {

      @Resource
      private SessionConext context;

      public void method1()

      { System.out.println("Method 1 invoked!"); context.getBusinessObject(mySessionBeanLocal.class).method2(); }

      public void method2()

      { System.out.println("Method 2 invoked!"); }


      }

      Currently this results in the following exception:

      I get a "Concurrent calls not allowed" exception:

      javax.ejb.EJBException: The bean encountered a non-application exception;
      nested exception is:
      javax.ejb.EJBException: Concurrent calls not allowed
      at
      org.apache.openejb.core.ivm.BaseEjbProxyHandler.convertException(BaseEjbProxyHandler.java:358)
      at
      org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:286)
      at $Proxy117.method1(Unknown Source)
      //....
      Caused by: javax.ejb.EJBException: Concurrent calls not allowed
      at
      org.apache.openejb.core.ivm.BaseEjbProxyHandler.convertException(BaseEjbProxyHandler.java:358)
      at
      org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:286)
      at $Proxy117.Method2(Unknown Source)
      //...
      Caused by: java.rmi.RemoteException: Concurrent calls not allowed
      at
      org.apache.openejb.core.stateful.StatefulContainer.obtainInstance(StatefulContainer.java:635)
      at
      org.apache.openejb.core.stateful.StatefulContainer.businessMethod(StatefulContainer.java:484)
      at
      org.apache.openejb.core.stateful.StatefulContainer.invoke(StatefulContainer.java:274)
      at
      org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:217)
      at
      org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
      at
      org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:281)
      ... 56 more

      Attachments

        1. OPENEJB-1099_v2.patch
          3 kB
          Thiago Veronezi
        2. OPENEJB-1099.patch
          13 kB
          Thiago Veronezi

        Issue Links

          Activity

            People

              tveronezi Thiago Veronezi
              dblevins David Blevins
              Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: