SwiftMQ requires Java 11 or later.

The Streams Swiftlet requires a JavaScript scripting engine which is part of the JDK up to Java 14 (Nashorn scripting engine). From Java 15 onwards the Nashorn scripting engine has been removed from the JDK. SwiftMQ detects that during startup and disables the Streams Swiftlet automatically. So, all functionality provided from this Swiftlet like the message scheduler will be unavailable.

To use Java 15 or later with Streams Swiftlet, you need to run SwiftMQ with GraalVM CE which is a next-generation polyglot JVM, based on the standard OpenJDK and provided by Oracle. SwiftMQ has been highly optimized for GraalVM and we recommend using it instead of the standard OpenJDK.

GraalVM CE is free and can be obtained from

Installation from an Archive

Distribution Content

After you have unpacked the archive, you will find the following directory structure below the distribution's top-level directory:




Self signed TLS certificates and server/client key stores.


All dynamic data of the router like configuration, logs, persistent store


jar files


jar files and config meta data of all Kernel Swiftlets


Extension Swiftlets JMS, AMQP, JavaMail Bridges and Replicator and Kernel Swiftlet replacements Authentication JDBC and Store JDBC.


SwiftMQ samples


Shell scripts to start the router and cli


SwiftMQ system streams

Starting the Router

Go to the scripts directory and start the router as follows:

    ./router [<preconfig>]

If you are starting it under Windows and use preconfig files, please set it in quotes!

Running SwiftMQ UR as Docker Container

Difference to SwiftMQ CE

The only difference to SwiftMQ CE is that SwiftMQ UR is not available in the Docker registry but must be downloaded as a tar.gz archive. Instead of the docker pull command use

docker load < <tar.gz archive>

Then reference the Docker image as

swiftmq-ur:<version> (without iitsoftware/), i.e. swiftmq-ur:12.1.0

in your docker or docker-compose.yml.

SwiftMQ UR deploys all available Extension Swiftlets during the first startup. You need to stop and start the Docker container to apply preconfig files for Extension Swiftlets after the initial deployment.

For further information on SwiftMQ on Docker have a look at the SwiftMQ CE installation.

Standard Configuration

The standard configuration of SwiftMQ UR is identical with SwiftMQ CE.

Starting CLI

To start CLI, SwiftMQ's command-line interface, perform a


from the scripts directory. As username/password press the return key (anonymous) or use admin, password secret.


SwiftMQ UR contains the same examples as SwiftMQ CE but adds those for Filetransfer over JMS.