[
https://issues.apache.org/jira/browse/CXF-2008?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12668366#action_12668366
]
Christian Schneider commented on CXF-2008:
------------------------------------------
I was able to reproduce the exception with my own configuration. The exception
happens if the TibJmsConnectionFactory is not wrapped into a
SingleConnectionFactory. The request comes in with a temporary queue as reply
to destination. When the ConnectionFactory is not wrapped then spring opens a
new Connection which will not be allowed to access the temporary queue. When
the connection is wrapped the same connection is used and so it may use the
temporary queue.
As Ed is using the old style configuration it seems that there must be an error
in JmsOldConfigHolder where the wrapping should be done.
A fast workaround is to use the new config style and do the wrapping yourself.
I will try to solve this before cxf 2.1.4.
> JMS Transport: Invalid temporary destination when using Tibco ems and
> temporary reply queue
> -------------------------------------------------------------------------------------------
>
> Key: CXF-2008
> URL: https://issues.apache.org/jira/browse/CXF-2008
> Project: CXF
> Issue Type: Bug
> Components: Transports
> Affects Versions: 2.1.3
> Environment: Windows Vista, Java 1.6.0-update 10, Tibco EMS 4.4.2
> Reporter: Christian Schneider
> Assignee: Christian Schneider
> Fix For: 2.1.4
>
>
> When using the JMS Transport with Tibco EMS and using a temporary reply
> destination the following exception is thrown on the CXF client.
> The problem was reported by Ed Scriven.
> See also:
> http://www.nabble.com/JAX-WS-CXF-with-Tibco-JMS-to21584686.html
> org.springframework.jms.InvalidDestinationException: Invalid temporary
> destination; nested exception is javax.jms.InvalidDestinationException:
> Invalid temporary destination
> at
> org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:261)
> 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.send(JmsTemplate.java:539)
> at
> org.apache.cxf.transport.jms.JMSDestination.sendExchange(JMSDestination.java:227)
> at
> org.apache.cxf.transport.jms.JMSOutputStream.doClose(JMSOutputStream.java:56)
> at
> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:167)
> at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
> at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
> at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:96)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:260)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
> at
> org.apache.cxf.transport.jms.JMSDestination.onMessage(JMSDestination.java:176)
> at
> org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:531)
> at
> org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:466)
> at
> org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:435)
> at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:322)
> at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:260)
> at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:944)
> at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:868)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: javax.jms.InvalidDestinationException: Invalid temporary
> destination
> at com.tibco.tibjms.Tibjmsx.buildException(Tibjmsx.java:508)
> at
> com.tibco.tibjms.TibjmsxSessionImp._createProducer(TibjmsxSessionImp.java:908)
> at
> com.tibco.tibjms.TibjmsxSessionImp.createProducer(TibjmsxSessionImp.java:4280)
> at
> org.springframework.jms.core.JmsTemplate.doCreateProducer(JmsTemplate.java:969)
> at
> org.springframework.jms.core.JmsTemplate.createProducer(JmsTemplate.java:950)
> at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:568)
> at
> org.springframework.jms.core.JmsTemplate$3.doInJms(JmsTemplate.java:541)
> at
> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:471)
> ... 19 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.