Freeman Fang created CXF-7038:
---------------------------------
Summary: ensure the JMS Connection get refreshed so that the jms
retry can get a useful Connection
Key: CXF-7038
URL: https://issues.apache.org/jira/browse/CXF-7038
Project: CXF
Issue Type: Bug
Reporter: Freeman Fang
The JMSConduit.sendAndReceiveMessage should throw JMSException as in the caller
JMSConduit.sendExchange we catch the JMSException and refresh the JMS
connection so that we can get a useful retry with refreshed connection like
{code}
} catch (JMSException e) {
// Close connection so it will be refreshed on next try
ResourceCloser.close(connection);
this.connection = null;
this.staticReplyDestination = null;
if (this.jmsListener != null) {
this.jmsListener.shutdown();
}
this.jmsListener = null;
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
// Ignore
}
throw JMSUtil.convertJmsException(e);
} finally {
closer.close();
}
{code}
ensure the connection get refreshed is important for example when the external
jms broker get restarted.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)