Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-3137

Outbound bridges should handle remote connectivity problems at startup

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.4.2
    • 5.6.0
    • Connector
    • None
    • Patch Available

    Description

      With a JMS-to-JMS bridge, one can configure JmsQueueConnector or JmsTopicConnector in an outbound bridge mode. In this mode, the "foreign" JMS provider is a remote service and therefore subject to disconnections, failures, etc.

      While the connectors do support reconnecting to a remote provider, the connectors will not start up correctly if the remote service is not available at start-up time.

      The attached patch (with test cases) solves this problem by separating the initialization of the local and remote parts of the bridge. A failure during initialization of the remote broker is not considered fatal, since the bridge attempts to reconnect to the foreign provider when a message is received from the local broker anyway.

      This logic could also be implemented for inbound bridges but slightly more difficult in that it'll require a separate Thread to manage the connectivity state to the remote i.e. if the system fails to connect to the remote at startup time, a separate Thread can be created to periodically continue to try to connect. This would also apply for inbound bridges that lose their connection due to the remote losing connectivity or being recycled. This has not been done yet.

      Attachments

        Activity

          People

            tabish Timothy A. Bish
            rocketraman Raman Gupta
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: