You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2009/12/09 22:49:18 UTC

[jira] Assigned: (CXF-2577) JMS IlegalStateException when attempting to use Spring SingleConnectionFactory retrieved from JNDI

     [ https://issues.apache.org/jira/browse/CXF-2577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp reassigned CXF-2577:
--------------------------------

    Assignee: Daniel Kulp

> JMS IlegalStateException when attempting to use Spring SingleConnectionFactory retrieved from JNDI
> --------------------------------------------------------------------------------------------------
>
>                 Key: CXF-2577
>                 URL: https://issues.apache.org/jira/browse/CXF-2577
>             Project: CXF
>          Issue Type: Bug
>          Components: Transports
>    Affects Versions: 2.3
>         Environment: Windows, JDK 1.6
>            Reporter: Ron Gavlin
>            Assignee: Daniel Kulp
>         Attachments: cxf-2577.patch
>
>
> A JMS IllegalStateException is thrown when I attempt to use a Spring SingleConnectionFactory retrieved directly from a local JNDI environment. A unit test and patch will be attached shortly. The stack trace generated by the unit test is listed below:
> org.springframework.jms.IllegalStateException: setExceptionListener call not supported on proxy for shared Connection. Set the 'exceptionListener' property on the SingleConnectionFactory instead. Alternatively, activate SingleConnectionFactory's 'reconnectOnException' feature, which will allow for registering further ExceptionListeners to the recovery chain.; nested exception is javax.jms.IllegalStateException: setExceptionListener call not supported on proxy for shared Connection. Set the 'exceptionListener' property on the SingleConnectionFactory instead. Alternatively, activate SingleConnectionFactory's 'reconnectOnException' feature, which will allow for registering further ExceptionListeners to the recovery chain.
> 	at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:271)
> 	at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168)
> 	at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:474)
> 	at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:436)
> 	at org.apache.cxf.transport.jms.JMSFactory.resolveOrCreateDestination(JMSFactory.java:236)
> 	at org.apache.cxf.transport.jms.JMSFactory.createJmsListener(JMSFactory.java:216)
> 	at org.apache.cxf.transport.jms.JMSFactory.createJmsListener(JMSFactory.java:156)
> 	at org.apache.cxf.transport.jms.JMSDestination.activate(JMSDestination.java:107)
> 	at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:48)
> 	at org.apache.cxf.transport.jms.JMSDestinationTest.setupJMSDestination(JMSDestinationTest.java:102)
> 	at org.apache.cxf.transport.jms.JMSDestinationTest.testGetSpringSingleConnectionFactoryFromWSDL(JMSDestinationTest.java:550)
> 	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.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)
> 	at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)
> 	at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)
> 	at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)
> 	at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
> 	at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
> 	at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
> 	at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
> 	at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
> 	at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
> 	at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
> 	at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
> 	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> Caused by: javax.jms.IllegalStateException: setExceptionListener call not supported on proxy for shared Connection. Set the 'exceptionListener' property on the SingleConnectionFactory instead. Alternatively, activate SingleConnectionFactory's 'reconnectOnException' feature, which will allow for registering further ExceptionListeners to the recovery chain.
> 	at org.springframework.jms.connection.SingleConnectionFactory$SharedConnectionInvocationHandler.invoke(SingleConnectionFactory.java:505)
> 	at $Proxy36.setExceptionListener(Unknown Source)
> 	at org.springframework.jms.connection.SingleConnectionFactory.prepareConnection(SingleConnectionFactory.java:365)
> 	at org.springframework.jms.connection.SingleConnectionFactory.initConnection(SingleConnectionFactory.java:291)
> 	at org.springframework.jms.connection.SingleConnectionFactory.createConnection(SingleConnectionFactory.java:227)
> 	at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184)
> 	at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:461)
> 	... 30 more

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