Upgrade SwiftMQ Router and Clients
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.