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

invalid handle value: 007E00DC and conversion of RuntimeException

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None
    • windows

    Description

      I have an EJB which raises a custom RuntimeException

      public void raiseException() {
      if (var==null) throw MyRuntimeException("var is null");
      }

      When I call this method I get on the console server

      javax.ejb.EJBTransactionRolledbackException: The transaction has been marked rollback only because the bean encountered a non-application exception
      at org.apache.openejb.core.ivm.BaseEjbProxyHandler.convertException(BaseEjbProxyHandler.java:348)
      at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:251)
      at org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:49)
      at $Proxy107.genererEmpreinte(Unknown Source)
      at fr.aeag.redevances.services.courrier.individuel.impl.CourrierIndivServiceImpl.createCourrier(CourrierIndivServiceImpl.java:194)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
      at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
      at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
      at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:210)
      at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
      at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
      at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238)
      at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129)
      at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
      at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
      at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
      at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
      at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:78)
      at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:101)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: mypackage.exception.RDVException: User does not exist
      at mypackage.mymthod(MyEJBImpl.java:57)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
      at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
      at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)

      And a very cryptic exception on the client :

      javax.ejb.EJBException: Unknown Container Exception: java.rmi.RemoteException: Cannot read the response from the server (OEJP/3.0) : invalid handle value: 007E00DC; nested exception is:
      java.io.StreamCorruptedException: invalid handle value: 007E00DC
      at org.apache.openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:179)
      at org.apache.openejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:117)
      at org.apache.openejb.client.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:52)
      at $Proxy44.createCourrier(Unknown Source)

      On other embedded containers the same code throws a runtimeException that is wrapped cleanly and serialized over the wire

      Attachments

        Activity

          People

            Unassigned Unassigned
            samijaber Sami Jaber
            Votes:
            2 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: