Upgrade
Before you Upgrade
When using SwiftMQ 13, it's essential to follow some best practices for optimal operation:
Use the Router Script: Always start SwiftMQ with the provided
routerscript rather than custom scripts. The router script is integral to the system, regularly tested and updated with each release.Managing routerconfig.xml: The
routerconfig.xmlfile in SwiftMQ is dynamic and changes automatically with various system components. Instead of version controlling this file, use preconfig files for your specific configurations like queues, topics, JMS listeners, etc. Include these preconfig files in your version control system (VCS). When starting SwiftMQ with therouterscript, add your preconfig files as parameters. This approach ensures thatrouterconfig.xmlis consistently updated with your configurations.
Upgrading SwiftMQ CE
Same procedure as release 12.x.
Upgrading SwiftMQ UR
Same procedure as release 12.x with the exception that you do NOT copy data/deploy to the SwiftMQ 13 installation as Extension Swiftlets from 12.x are not compatible with SwiftMQ 13.
Instead:
Copy the
datadirectory without thedata/deploysubdirectory to SwiftMQ 13.Copy the Extension Swiftlets you use from
optional-swiftlets/extensionof SwiftMQ 13 todata/deployof SwiftMQ 13.Start SwiftMQ 13.
The new Extension Swiftlets are now deployed and the configuration from your preconfig file is applied during startup.
Upgrading SwiftMQ HA
Same procedure as SwiftMQ UR. Rolling Upgrade is not possible. Both HA instances must be shut down during the upgrade.
Upgrading Docker (CE/UR/HA)
The upgrade of Docker images is slightly different as you start the container with the same data directory and Extension Swiftlets are automatically deployed.
Follow this procedure:
Stop the Docker container running SwiftMQ 12. For SwiftMQ HA stop both HA instances.
Pull the new Docker image or load it from the downloaded SwiftMQ 13 Docker distribution.
For SwiftMQ HA download the preconfig zip file as well.
Delete the content of the
data/deploydirectory.Delete the content of the
data/preconfigdirectory.For SwiftMQ HA: Delete the
preconfigdirectory at the root of your installation.For SwiftMQ HA: Unzip the downloaded preconfig zip file at the root of your installation.
Start the new Docker container.
Note on SELinux with podman
We have discovered an issue with SwiftMQ 13 running as a container with podman under RHEL8 with SELinux enabled. You need to add the DAC_OVERRIDE capability to your container.