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)

Reply via email to