You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Kevan Miller (JIRA)" <ji...@apache.org> on 2007/04/10 23:05:32 UTC

[jira] Created: (GERONIMO-3087) ConnectionTrackingCoordinator.invoke() does not properly convert Exceptions

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.


[jira] Updated: (GERONIMO-3087) ConnectionTrackingCoordinator.invoke() does not properly convert Exceptions

Posted by "Kevan Miller (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-3087?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevan Miller updated GERONIMO-3087:
-----------------------------------

    Affects Version/s: 1.2
             Assignee: Kevan Miller

> 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: 1.2, 2.0-M4, 2.0-M5
>            Reporter: Kevan Miller
>         Assigned To: 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.


[jira] Closed: (GERONIMO-3087) ConnectionTrackingCoordinator.invoke() does not properly convert Exceptions

Posted by "Kevan Miller (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-3087?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevan Miller closed GERONIMO-3087.
----------------------------------

    Resolution: Fixed

Fixed as described previously.

> 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: 1.2, 2.0-M4, 2.0-M5
>            Reporter: Kevan Miller
>         Assigned To: 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.