SwiftMQ's versioned protocols ensure 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.jarfrom a higher version CANNOT connect to a SwiftMQ Router with an older version, because they always use the most recent protocol version.
Upgrade an Installation 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.
- Shutdown 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.
Downtime can be minimized by enabling transparent reconnect for JMS clients (see remote JMS clients, 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 shutdown anyway. Procedure as follows:
- Shutdown the JMS client.
swiftmq.jarfrom the new SwiftMQ distribution to the clients classpath.
- Start the JMS client.
Check the Release Notes
Please read the release notes of the SwiftMQ distribution for further upgrade and compatibility notes.