ConnectionTrackingCoordinator.invoke() does not properly convert Exceptions
---------------------------------------------------------------------------

                 Key: GERONIMO-3087
                 URL: https://issues.apache.org/jira/browse/GERONIMO-3087
             Project: Geronimo
          Issue Type: Bug
      Security Level: public (Regular issues)
    Affects Versions: 2.0-M4, 2.0-M5
            Reporter: Kevan Miller
             Fix For: 2.0-M5


ConnectionTrackingCoordinator.invoke() uses reflection to invoke the 
appropriate method on an object. If an exception occurs during the method 
invocation, the exception is converted into an InvocationTargetException. 

ConnectionTrackingCoordinator.invoke() needs to turn the exception back into 
it's original form. Otherwise, you'll get incorrect exceptions returned to 
client code and exceptions of the form:

java.lang.reflect.UndeclaredThrowableException
        at $Proxy33.start(Unknown Source)
        at MyTestClass.closeAClosedConnection(MyTestClass.java:53)      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:585)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:136)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:119)
        at 
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:72)
        at 
org.apache.openejb.core.stateful.StatefulContainer._invoke(StatefulContainer.java:420)
        at 
org.apache.openejb.core.stateful.StatefulContainer.businessMethod(StatefulContainer.java:382)
        at 
org.apache.openejb.core.stateful.StatefulContainer.invoke(StatefulContainer.java:257)
        at 
org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:198)
        at 
org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:113)
        at 
org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:149)
        at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:107)
        at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:80)
        at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
        at 
org.apache.openejb.server.ServiceLogger.service(ServiceLogger.java:75)
        at 
org.apache.openejb.server.ServiceAccessController.service(ServiceAccessController.java:55)
        at org.apache.openejb.server.ServiceDaemon$1.run(ServiceDaemon.java:117)
        at java.lang.Thread.run(Thread.java:613)
Caused by: java.lang.reflect.InvocationTargetException
        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:585)
        at 
org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTrackingCoordinator$ConnectionInvocationHandler.invoke(ConnectionTrackingCoordinator.java:329)
        ... 29 more
Caused by: javax.jms.IllegalStateException: The Connection is closed
        at 
org.apache.activemq.ra.ManagedConnectionProxy.getConnection(ManagedConnectionProxy.java:93)
        at 
org.apache.activemq.ra.ManagedConnectionProxy.start(ManagedConnectionProxy.java:200)
        ... 34 more

I have not reproduced this problem on 1.2, but sure looks like it would cause a 
problem there, also...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to