SwiftMQ Documentation

SwiftMQ Documentation

  • Client
  • CE
  • UR
  • HA
  • Javadocs
  • Release Notes

›SwiftMQ CE

SwiftMQ Client

  • Getting Started
  • JNDI Client
  • JMS Client
  • AMQP 1.0 Client
  • Filetransfer Client

SwiftMQ CE

  • Getting Started
  • Installation
  • Upgrade
  • Software Architecture
  • Administration

    • Preconfig
    • CLI Command Line Interface
    • JMX Administration
    • CLI Message Interface
    • routerconfig.xml Watch Dog
    • System Properties

    Swiftlets

    • AMQP Swiftlet
    • Authentication Swiftlet
    • Deploy Swiftlet
    • JMS Swiftlet
    • JNDI Swiftlet
    • Log Swiftlet
    • Management Swiftlet
    • MQTT Swiftlet
    • Network Swiftlet
    • Queue Manager Swiftlet
    • Routing Swiftlet
    • Scheduler Swiftlet
    • Store Swiftlet
    • Streams Swiftlet
    • Threadpool Swiftlet
    • Timer Swiftlet
    • Topic Manager Swiftlet
    • Trace Swiftlet
    • XA Resource Manager Swiftlet

    APIs

    • CLI Admin API

    How To

    • TLS Configuration
    • HTTP Tunneling Configuration
    • Upgrade SwiftMQ Router and Clients

    In Depth

    • Versioning
    • File Store

SwiftMQ UR

  • Getting Started
  • License
  • Installation
  • Upgrade
  • Administration

    • SwiftMQ Explorer

    Swiftlets

    • JDBC Authentication Swiftlet
    • FileCache Swiftlet
    • JMS Application Container Swiftlet
    • JMS XA Swiftlet
    • JDBC Store Swiftlet
    • AMQP Bridge Extension Swiftlet
    • JMS Bridge Extension Swiftlet
    • JavaMail Bridge Extension Swiftlet
    • Replicator Extension Swiftlet

SwiftMQ HA

  • Getting Started
  • License
  • Installation
  • Upgrade
  • HA Introduction
  • HA Deployment
  • Administration
  • JNDI/JMS under HA
  • Routing under HA
  • Advanced Configuration
  • HA Test Suite

Upgrade

Upgrade from Release 12.0.0 or later

To upgrade a SwiftMQ Router follow these steps:

  • Install the new SwiftMQ Router (new release).
  • Stop the old SwiftMQ Router (old release).
  • Copy the complete data directory from the old to the new release.
  • Start the new SwiftMQ Router (new release).

During startup the new SwiftMQ Router will automatically convert the routerconfig.xml and apply changes, if necessary. To accomplish this, it is important that you always use the router script of the new release!

SwiftMQ clients will transparently reconnect to the new SwiftMQ Router. If necessary, update them with the new swiftmq.jar when you have time.

Upgrade from Releases prior 12.0.0

Create a preconfig file

You first need to create a preconfig file that converts the default router configuration into your configuration.

Create a file upgrade-to-12.xml within directory preconfig and add this content:

<router name="<your-router-name>">

    <swiftlet name="sys$authentication">
        <groups _op="replace">
            <!-- add your groups here -->
        </groups>
        <resource-limit-groups _op="replace">
            <!-- add your resource-limit-groups here -->
        </resource-limit-groups>
        <users _op="replace">
            <!-- add your users here -->
        </users>
    </swiftlet>

    <swiftlet name="sys$amqp">
        <listeners _op="replace">
            <!-- add your AMQP listeners here -->
        </listeners>
    </swiftlet>
    
    <swiftlet name="sys$mqtt">
        <listeners _op="replace">
            <!-- add your MQTT listeners here -->
        </listeners>
    </swiftlet>
    
    <swiftlet name="sys$jms">
        <listeners _op="replace">
            <!-- add your JMS listeners here -->
        </listeners>
    </swiftlet>

    <swiftlet name="sys$queuemanager">
        <queues _op="replace">
            <!-- add your queues here -->
        </queues>
    </swiftlet>

    <swiftlet name="sys$topicmanager">
        <slow-subscriber-conditions _op="replace">
            <!-- add your slow-subscriber-conditions here -->
        </slow-subscriber-conditions>
        <static-remote-router-subscriptions _op="replace">
            <!-- add your static-remote-router-subscriptions here -->
        </static-remote-router-subscriptions>
        <topics _op="replace">
            <!-- add your topics here -->
        </topics>
    </swiftlet>

    <swiftlet name="sys$routing">
        <connectors _op="replace">
            <!-- add your connectors here -->
        </connectors>
        <listeners _op="replace">
            <!-- add your listeners here -->
        </listeners>
        <static-routes _op="replace">
            <!-- add your static-routes here -->
        </static-routes>
    </swiftlet>
    
    <swiftlet name="sys$scheduler">
        <calendars _op="replace">
            <!-- add your calendars here -->
        </calendars>
        <schedules _op="replace">
            <!-- add your schedules here -->
        </schedules>
    </swiftlet>
    
</router>

Then replace all <!-- add your xxx here --> with the entries from your old routerconfig.xml. If you have any changes in a <swiftlet> element, you can just add that attribute like:

 <swiftlet name="sys$authentication" authentication-enabled="true">

If you have Extension Swiftlets, add the configuration to the preconfig.

Perform the Upgrade

  • Install the new SwiftMQ Router (new release).

  • Stop the old SwiftMQ Router (old release).

  • Copy the store/<routername> directory from the old release to data/store of the new release.

  • If you use Extension Swiftlets:

    • Copy all deployments of Extension Swiftlets from deploy/<routername> to data/deploy of the new release.
    • Start the SwiftMQ Router (new release) by calling the router script without parameters.
    • Wait until all Extension Swiftlets are started.
    • Stop the SwiftMQ Router (new release).
  • Start the SwiftMQ Router (new release) with:

    ./router ../preconfig/upgrade-to-12.xml

During startup the new SwiftMQ Router will automatically convert the routerconfig.xml and apply the changes from your preconfig file.

SwiftMQ clients will transparently reconnect to the new SwiftMQ Router. If necessary, update them with the new swiftmq.jar when you have time.

← InstallationSoftware Architecture →
  • Upgrade from Release 12.0.0 or later
  • Upgrade from Releases prior 12.0.0
    • Create a preconfig file
    • Perform the Upgrade
Copyright © 2020 IIT Software GmbH