Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-7038

ensure the JMS Connection get refreshed so that the jms retry can get a useful Connection

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 3.1.8, 3.0.11, 3.2.0
    • None
    • None
    • Unknown

    Description

      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

      } 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();
              }
      

      ensure the connection get refreshed is important for example when the external jms broker get restarted.

      Attachments

        Activity

          People

            ffang Freeman Yue Fang
            ffang Freeman Yue Fang
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: