Protocol Compatibility

SwiftMQ's versioned protocols ensure the downward compatibility of a SwiftMQ Router.

  • A SwiftMQ Router supports older protocol versions as well so older versioned JMS clients can connect to a SwiftMQ Router with a higher version

  • JMS clients with a swiftmq.jar from a higher version CAN NOT connect to a SwiftMQ Router with an older version because they always use the most recent protocol version.

Upgrade from a tar.gz/zip

Therefore it is very important to respect the following order during an upgrade process:

  • Install the new release (unpack the distribution) on the machine where the SwiftMQ Router runs.

  • Shut down the SwiftMQ Router (old release).

  • Copy the data/ directory of the old release to the new release.

  • Start the SwiftMQ Router (new release).

Upgrade SwiftMQ Router on Docker:

  • Pull the release.

  • Restart the docker container.

JMS Clients

Downtime can be minimized by enabling transparent reconnect for JMS clients (see remote JMS clients, the configuration of connection factories; JNDI documentation).

JMS clients [re-]connect with their current protocol version to the new SwiftMQ Router. Upgrade of JMS clients can be done when they are shut down anyway. Procedure is as follows:

  • Shutdown the JMS client.

  • Copy swiftmq.jar from the new SwiftMQ distribution to the client's classpath.

  • Start the JMS client.

Check the Release Notes

Please read the release notes of the SwiftMQ distribution for further upgrade and compatibility notes.