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

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.1.8, 3.0.11, 3.2.0
    • Component/s: None
    • Labels:
      None
    • Estimated Complexity:
      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

            • Assignee:
              ffang Freeman Fang
              Reporter:
              ffang Freeman Fang
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: