Skip to content

Management Tree

Overview

The Management Tree is the central configuration hierarchy of a SwiftMQ router. Every Swiftlet registers its configuration under the tree. Administrators use the CLI to navigate and modify it at runtime.

Tree Structure

/
├── sys$trace/
│   ├── max-file-size = 10240
│   ├── number-old-tracefile-generations = 50
│   ├── spaces/
│   │   └── <space>/ (dynamic)
│   │       ├── enabled = false
├── sys$log/
│   ├── size-limit = 1024
│   ├── number-old-logfile-generations = 50
│   ├── logfile-info-enabled = true
│   ├── logfile-info = swiftmq_info.log
│   ├── logfile-warning-enabled = true
│   ├── logfile-warning = swiftmq_warning.log
│   ├── logfile-error-enabled = true
│   ├── logfile-error = swiftmq_error.log
│   ├── logsink-directory = ./
├── sys$timer/
│   ├── min-delay = 100
│   ├── max-delay = 10000
├── sys$net/
│   ├── collect-interval = 1000
│   ├── zombi-connection-timeout = 0
│   ├── dns-resolve-enabled = false
│   ├── reuse-serversockets = true
│   ├── number-selector-tasks = 10
│   ├── max-chunk-size = -1
├── sys$store/
│   ├── backup/
│   │   ├── path
│   │   ├── keep-generations = 3
│   ├── database/
│   │   ├── path
│   │   ├── initial-db-size-pages = 25600
│   │   ├── size-collect-interval = 1000
│   │   ├── page-size-current = 2048
│   │   ├── page-size-recommended = 2048
│   │   ├── page-size-max = 32768
│   │   ├── perform-compact-on-startup = false
│   │   ├── perform-resize-on-startup = false
│   ├── cache/
│   │   ├── min-size = 1024
│   │   ├── max-size = 2048
│   ├── transaction-log/
│   │   ├── path
│   │   ├── checkpoint-size = 104857600
│   │   ├── force-sync = false
│   ├── swap/
│   │   ├── path
│   │   ├── roll-over-size = 10485760
│   ├── durable-subscriber/
│   │   ├── path
├── sys$topicmanager/
│   ├── flowcontrol-enabled = true
│   ├── direct-subscriber-selection = true
│   ├── topics/
│   │   └── <topic>/ (dynamic)
│   ├── announce-filters/
│   │   └── <router-name-filter>/ (dynamic)
│   │       ├── routername
│   │       ├── filter-type = exclude
│   ├── slow-subscriber-conditions/
│   │   └── <topic>/ (dynamic)
│   │       ├── max-messages = 500
│   │       ├── persistence-mode = non_persistent
│   │       ├── subscription-type = all
│   │       ├── disconnect-non-durable-subscriber = false
│   │       ├── disconnect-delete-durable-subscriber = false
│   ├── static-remote-router-subscriptions/
│   │   └── <static-remote-router-subscription>/ (dynamic)
├── sys$scheduler/
│   ├── calendars/
│   │   └── <calendar>/ (dynamic)
│   │       ├── type = exclude
│   │       ├── base-calendar
│   │       ├── enable-weekdays = false
│   │       ├── enable-monthdays = false
│   │       ├── enable-monthdays-last = false
│   │       ├── enable-annualdays = false
│   │       ├── enable-dateranges = false
│   ├── schedules/
│   │   └── <schedule>/ (dynamic)
│   │       ├── enabled = false
│   │       ├── logging-enabled = false
│   │       ├── calendar
│   │       ├── job-group
│   │       ├── job-name
│   │       ├── date-from = now
│   │       ├── date-to = forever
│   │       ├── max-runtime
│   │       ├── time-expression
├── sys$xa/
│   ├── scan-interval = 20000
│   ├── default-transaction-timeout = 0
├── sys$routing/
│   ├── reject-disconnect-delay = 5000
│   ├── stage-valid-timeout = 15000
│   ├── roundrobin-enabled = false
│   ├── inbound-flow-control-enabled = false
│   ├── crfactory-class = com.swiftmq.auth.ChallengeResponseFactoryImpl
│   ├── route-announce-hop-limit = 3
│   ├── static-routes/
│   │   └── <static-route>/ (dynamic)
│   ├── filters/
│   │   └── <filter>/ (dynamic)
│   │       ├── type
│   ├── listeners/
│   │   └── <listener>/ (dynamic)
│   │       ├── bindaddress
│   │       ├── port
│   │       ├── use-tcp-no-delay = true
│   │       ├── socketfactory-class = com.swiftmq.net.PlainSocketFactory
│   │       ├── password
│   │       ├── keepalive-interval = 60000
│   │       ├── inbound-transaction-size = 20
│   │       ├── inbound-window-size = 10
│   │       ├── router-input-buffer-size = 131072
│   │       ├── router-input-extend-size = 65536
│   │       ├── router-output-buffer-size = 131072
│   │       ├── router-output-extend-size = 131072
│   │       ├── use-compression = false
│   │       ├── use-xa = true
│   ├── connectors/
│   │   └── <connector>/ (dynamic)
│   │       ├── hostname
│   │       ├── enabled = true
│   │       ├── port
│   │       ├── use-tcp-no-delay = true
│   │       ├── socketfactory-class = com.swiftmq.net.PlainSocketFactory
│   │       ├── password
│   │       ├── retry-time = 60000
│   │       ├── inbound-transaction-size = 20
│   │       ├── inbound-window-size = 10
│   │       ├── router-input-buffer-size = 131072
│   │       ├── router-input-extend-size = 65536
│   │       ├── router-output-buffer-size = 131072
│   │       ├── router-output-extend-size = 131072
│   │       ├── use-compression = false
│   │       ├── use-xa = true
├── sys$mgmt/
│   ├── authentication-enabled = false
│   ├── admin-roles-enabled = false
│   ├── admintool-connect-logging-enabled = true
│   ├── crfactory-class = com.swiftmq.auth.ChallengeResponseFactoryImpl
│   ├── password
│   ├── flush-interval = 500
│   ├── roles/
│   │   └── <role>/ (dynamic)
│   ├── jmx/
│   │   ├── enabled = false
│   │   ├── groupable-objectnames = true
│   ├── message-interface/
│   │   ├── enabled = false
│   │   ├── request-queue-name = swiftmqmgmt-message-interface
├── sys$threadpool/
│   ├── collect-interval = 1000
│   ├── group-shutdown-order
│   ├── groups/
│   │   └── <group>/ (dynamic)
│   │       ├── freezable = true
│   ├── adhocplatform/
│   │   ├── core-pool-size = 0
│   │   ├── max-pool-size = 30
│   │   ├── keepalive = 1000
├── sys$jndi/
│   ├── jndi-replications/
│   │   └── <jndi-replication>/ (dynamic)
│   │       ├── enabled = false
│   │       ├── keepalive-interval = 60000
│   │       ├── keepalive-lookup-name = test
│   │       ├── destination-context
│   │       ├── name-prefix
│   ├── aliases/
│   │   └── <alias>/ (dynamic)
│   │       ├── map-to
│   ├── remote-queues/
│   │   └── <remote-queue>/ (dynamic)
├── sys$queuemanager/
│   ├── collect-interval = 1000
│   ├── cluster-metric-interval = 10000
│   ├── max-flowcontrol-delay = 5000
│   ├── log-expired-messages = false
│   ├── log-duplicate-messages = false
│   ├── deliver-expired-messages = false
│   ├── cluster-topic = swiftmq.cluster
│   ├── multi-queue-transaction-global-lock = false
│   ├── queue-controllers/
│   │   └── <queue-controller>/ (dynamic)
│   │       ├── predicate
│   │       ├── cache-size = 500
│   │       ├── cache-size-bytes-kb = -1
│   │       ├── cleanup-interval = 120000
│   │       ├── flowcontrol-start-queuesize = 400
│   │       ├── max-messages = -1
│   │       ├── persistence-mode = as_message
│   │       ├── consumer-mode = shared
│   │       ├── duplicate-detection-enabled = true
│   │       ├── duplicate-detection-backlog-size = 2000
│   │       ├── monitor-alert-threshold = -1
│   ├── clustered-queues/
│   │   └── <clustered-queue>/ (dynamic)
│   │       ├── message-group-enabled = false
│   │       ├── message-group-property = JMSXGroupID
│   │       ├── message-group-expiration = -1
│   │       ├── message-group-expiration-cleanup-interval = -1
│   ├── composite-queues/
│   │   └── <composite-queue>/ (dynamic)
│   ├── queues/
│   │   └── <queue>/ (dynamic)
│   │       ├── cache-size = 500
│   │       ├── cache-size-bytes-kb = -1
│   │       ├── cleanup-interval = 120000
│   │       ├── max-messages = -1
│   │       ├── persistence-mode = as_message
│   │       ├── consumer-mode = shared
│   │       ├── flowcontrol-start-queuesize = 400
│   │       ├── duplicate-detection-enabled = true
│   │       ├── duplicate-detection-backlog-size = 2000
│   │       ├── monitor-alert-threshold = -1
├── sys$authentication/
│   ├── authentication-enabled = false
│   ├── password-check-only = false
│   ├── groups/
│   │   └── <group>/ (dynamic)
│   ├── resource-limit-groups/
│   │   └── <resource-limit-group>/ (dynamic)
│   │       ├── max-connections = -1
│   │       ├── max-tempqueues = 50
│   │       ├── max-sessions = 50
│   │       ├── max-producers = 50
│   │       ├── max-consumers = 50
│   ├── users/
│   │   └── <user>/ (dynamic)
│   │       ├── password
│   │       ├── group = public
│   │       ├── resource-limit-group = public
├── sys$jms/
│   ├── allow-same-clientid = false
│   ├── collect-interval = 10000
│   ├── max-connections = -1
│   ├── consumer-cache-low-water-mark = 100
│   ├── crfactory-class = com.swiftmq.auth.ChallengeResponseFactoryImpl
│   ├── intravm-connection-factories/
│   │   └── <intravm-connection-factory>/ (dynamic)
│   │       ├── smqp-producer-reply-interval = 20
│   │       ├── smqp-consumer-cache-size = 500
│   │       ├── smqp-consumer-cache-size-kb = 2048
│   │       ├── jms-client-id
│   │       ├── jms-default-delivery-mode = persistent
│   │       ├── jms-default-message-ttl = 0
│   │       ├── jms-default-message-priority = 4
│   │       ├── jms-default-message-id-enabled = true
│   │       ├── jms-default-message-timestamp-enabled = true
│   │       ├── thread-context-classloader-for-getobject = false
│   ├── listeners/
│   │   └── <listener>/ (dynamic)
│   │       ├── connectaddress
│   │       ├── connectport = -1
│   │       ├── bindaddress
│   │       ├── port
│   │       ├── hostname2
│   │       ├── connectaddress2
│   │       ├── connectport2 = -1
│   │       ├── bindaddress2
│   │       ├── port2 = -1
│   │       ├── use-tcp-no-delay = true
│   │       ├── socketfactory-class = com.swiftmq.net.PlainSocketFactory
│   │       ├── keepalive-interval = 60000
│   │       ├── max-connections = -1
│   │       ├── router-input-buffer-size = 131072
│   │       ├── router-input-extend-size = 65536
│   │       ├── router-output-buffer-size = 131072
│   │       ├── router-output-extend-size = 65536
├── sys$amqp/
│   ├── allow-same-containerid = true
│   ├── collect-interval = 1000
│   ├── listeners/
│   │   └── <listener>/ (dynamic)
│   │       ├── bindaddress
│   │       ├── port = 5672
│   │       ├── max-connections = -1
│   │       ├── sasl-enabled = true
│   │       ├── connection-template = default
│   ├── declarations/
├── sys$mqtt/
│   ├── collect-interval = 1000
│   ├── session-timeout = 168
│   ├── listeners/
│   │   └── <listener>/ (dynamic)
│   │       ├── bindaddress
│   │       ├── port = 1883
│   │       ├── max-connections = -1
│   │       ├── connection-template = default
│   ├── declarations/
├── sys$deploy/
│   ├── deploy-spaces/
│   │   └── <deploy-space>/ (dynamic)
│   │       ├── path
│   │       ├── check-interval = 60000
├── sys$streams/
│   ├── collect-interval = 1000
│   ├── stream-grant-predicates = stream\_%
│   ├── stream-lib-directory = ../data/streamlib
│   ├── domains/
│   │   └── <domain>/ (dynamic)

CLI Navigation

The following commands are available for navigating and modifying the tree:

Command Description
cc <context> Change context (navigate into entity or entity list)
lc [<context>] List contents of current or specified context
set <prop> [<value>] Set property value on current entity
describe <prop> Show description of a property
new <name> [<prop> <value> ...] Create entity in an entity list with inline properties
delete <name> Delete entity from entity list
show template Show template for new entities

There is no get, show (for property values), list, create, remove, add, or status command.

Common Configuration Tasks

Creating a Queue

cc /sys$queuemanager/queues
new myqueue cache-size 1000 persistence-mode persistent

Viewing Queue Configuration

cc /sys$queuemanager/queues/myqueue
lc

Modifying an Existing Property

cc /sys$queuemanager/queues/myqueue
set cache-size 2000

Deleting an Entity

cc /sys$queuemanager/queues
delete myqueue

Viewing the Template for New Entities

cc /sys$queuemanager/queues
show template

Swiftlet Configuration Reference

Trace Swiftlet (sys$trace)

Trace Swiftlet

Root Properties:

Parameter Type Default Description
max-file-size Integer 10240 Max. Tracefile Size (KB)
number-old-tracefile-generations Integer 50 Number old Tracefile Generations to keep

Spaces (spaces/) — Trace Space Definitions

Parameter Type Default Description
enabled Boolean false Enables/Disables the Space

Log Swiftlet (sys$log)

Central Logging Facility

Root Properties:

Parameter Type Default Description
size-limit Integer 1024 Logfiles do rotate by reaching this size
number-old-logfile-generations Integer 50 Number old Logfile Generations to keep
logfile-info-enabled Boolean true Info Logfile enabled
logfile-info String swiftmq_info.log Logfile Information Messages
logfile-warning-enabled Boolean true Warning Logfile enabled
logfile-warning String swiftmq_warning.log Logfile Warning Messages
logfile-error-enabled Boolean true Error Logfile enabled
logfile-error String swiftmq_error.log Logfile Error Messages
logsink-directory String ./ Directory where Logsinks will be stored

Timer Swiftlet (sys$timer)

Timer Swiftlet

Root Properties:

Parameter Type Default Description
min-delay Long 100 Minimum Delay
max-delay Long 10000 Maximum Delay

Network Swiftlet (sys$net)

Network Swiftlet

Root Properties:

Parameter Type Default Description
collect-interval Long 1000 Throughput Collect Interval
zombi-connection-timeout Long 0 Zombi-Connection Timeout
dns-resolve-enabled Boolean false Resolve DNS Names during Connect
reuse-serversockets Boolean true Re-Use Server Sockets
number-selector-tasks Integer 10 Number Selector Tasks. Might be increased for Multi-Processor Machines.
max-chunk-size Long -1 Maximum size of a network chunk (chunk = message in JMS) to limit the incoming message size router-wide.

Store Swiftlet (sys$store)

Store Swiftlet

Backup (backup/) — Backup Settings

Parameter Type Default Description
path String Root Path for Backup Save Sets
keep-generations Integer 3 Number of Generations to keep

Database (database/) — Database Settings

Parameter Type Default Description
path String Path of the Database (page.db)
initial-db-size-pages Integer 25600 Initial Size of the Database in Pages
size-collect-interval Long 1000 Interval to collect the Usage
page-size-current Integer 2048 Current Size of the Database Pages
page-size-recommended Integer 2048 Recommended Size of the Database Pages
page-size-max Integer 32768 Maximum Page Size
perform-compact-on-startup Boolean false Perform a compact of the page.db on startup if current page size is equal to recommended page size
perform-resize-on-startup Boolean false Perform a page resize on startup if the recommended size is greater than the current page size

Cache (cache/) — Cache Settings

Parameter Type Default Description
min-size Integer 1024 Min. Size (Pages)
max-size Integer 2048 Max. Size (Pages)

Transaction Log (transaction-log/) — Transaction Log Settings

Parameter Type Default Description
path String Path of the Transaction Log (transaction.log)
checkpoint-size Long 104857600 Size at which a Checkpoint is performed
force-sync Boolean false Force a sync with the disk

Swap (swap/) — Swap Settings

Parameter Type Default Description
path String Path of Swap Files
roll-over-size Long 10485760 Roll Over Size

Durable Subscriber (durable-subscriber/) — Durable Subscriber Settings

Parameter Type Default Description
path String Path of Durable Subscriber Files

Topic Manager Swiftlet (sys$topicmanager)

Topic Manager

Root Properties:

Parameter Type Default Description
flowcontrol-enabled Boolean true Enable/Disable Publish/Subscribe Flow Control
direct-subscriber-selection Boolean true Select Subscribers directly and do NOT interpret the Publisher's Topic Name as SQL-Like Predicate

Topics (topics/) — Topic Definitions

Announce Filters (announce-filters/) — Topic Announce Filters

Parameter Type Default Description
routername String SQL LIKE Predicate to match router names
filter-type String exclude Filter Type

Slow Subscriber Conditions (slow-subscriber-conditions/) — Slow Subscriber Conditions

Parameter Type Default Description
max-messages Long 500 Maximum Messages in Subscriber Queue
persistence-mode String non_persistent Persistence Mode
subscription-type String all Subscription Type
disconnect-non-durable-subscriber Boolean false Disconnect Non-Durable Subscriber
disconnect-delete-durable-subscriber Boolean false Disconnect and Delete Durable Subscriber

Static Remote Router Subscriptions (static-remote-router-subscriptions/) — Static Remote Router Subscriptions


Scheduler Swiftlet (sys$scheduler)

Scheduler Swiftlet

Calendars (calendars/) — Calendars

Parameter Type Default Description
type String exclude Calendar Type
base-calendar String Calendar which is Base for this Calendar
enable-weekdays Boolean false Enable Week Days on this Calendar
enable-monthdays Boolean false Enable Month Days on this Calendar
enable-monthdays-last Boolean false Enable Last Month Day on this Calendar
enable-annualdays Boolean false Enable Annual Days on this Calendar
enable-dateranges Boolean false Enable Dange Ranges on this Calendar

Job Schedules (schedules/) — Job Schedules

Parameter Type Default Description
enabled Boolean false Schedule enabled/disabled
logging-enabled Boolean false If true, start/stop are logged in SwiftMQ's log file
calendar String Apply this Calendar
job-group String Job Group
job-name String Job Name
date-from String now From Date
date-to String forever To Date
max-runtime String n(s|m|h), e.g. 30m
time-expression String (at HH:mm[:ss][, HH:mm[:ss]...]) | (start HH:mm[:ss] stop HH:mm[:ss] delay n(s|m|h [repeat n])

XA Resource Manager Swiftlet (sys$xa)

XA Resource Manager Swiftlet

Root Properties:

Parameter Type Default Description
scan-interval Long 20000 Interval to scan prepared XA transaction to put into the Usage List
default-transaction-timeout Long 0 Max. time a XA transaction can run, thereafter it will be rolled back

Routing Swiftlet (sys$routing)

Routing Swiftlet

Root Properties:

Parameter Type Default Description
reject-disconnect-delay Long 5000 Time (ms) after which a rejected Connection is closed
stage-valid-timeout Long 15000 Time (ms) after which a Protocol Stage in a wait State becomes invalid
roundrobin-enabled Boolean false Enables/Disables Round Robin Scheduling
inbound-flow-control-enabled Boolean false Enables/Disables Inbound Flow Control
crfactory-class String com.swiftmq.auth.ChallengeResponseFactoryImpl Challenge/Response Factory Class
route-announce-hop-limit Integer 3 Maximum Hop Count for Route Announce (-1 = unlimited)

Static Routes (static-routes/) — Static Route Definitions

Route Filters (filters/) — Route Filter Definitions

Parameter Type Default Description
type String Filter Type

Listeners (listeners/) — Listener Definitions

Parameter Type Default Description
bindaddress String Listener Bind IP Address
port Integer Listener Port
use-tcp-no-delay Boolean true Use Tcp No Delay
socketfactory-class String com.swiftmq.net.PlainSocketFactory Listener Socketfactory Class
password String Password
keepalive-interval Long 60000 Interval for sending Keep Alive Messages
inbound-transaction-size Integer 20 Number of Messages per Transaction
inbound-window-size Integer 10 Max. Number of open Transactions
router-input-buffer-size Integer 131072 Router Network Input Buffer Size
router-input-extend-size Integer 65536 Router Network Input Extend Size
router-output-buffer-size Integer 131072 Router Network Output Buffer Size
router-output-extend-size Integer 131072 Router Network Output Extend Size
use-compression Boolean false Uses Wirelevel Compression if enabled
use-xa Boolean true Uses 2 Phase Commit Protocol (XA) if enabled

Connectors (connectors/) — Connector Definitions

Parameter Type Default Description
hostname String Remote Hostname
enabled Boolean true Enables/Disables this Connector
port Integer Remote Port
use-tcp-no-delay Boolean true Use Tcp No Delay
socketfactory-class String com.swiftmq.net.PlainSocketFactory Connector Socketfactory Class
password String Password
retry-time Long 60000 Retry Time
inbound-transaction-size Integer 20 Number of Messages per Transaction
inbound-window-size Integer 10 Max. Number of open Transactions
router-input-buffer-size Integer 131072 Router Network Input Buffer Size
router-input-extend-size Integer 65536 Router Network Input Extend Size
router-output-buffer-size Integer 131072 Router Network Output Buffer Size
router-output-extend-size Integer 131072 Router Network Output Extend Size
use-compression Boolean false Uses Wirelevel Compression if enabled
use-xa Boolean true Uses 2 Phase Commit Protocol (XA) if enabled

Management Swiftlet (sys$mgmt)

Management Swiftlet

Root Properties:

Parameter Type Default Description
authentication-enabled Boolean false Enables/Disables Authentication
admin-roles-enabled Boolean false Enables/Disables Administration Roles
admintool-connect-logging-enabled Boolean true Enables/Disables Connect/Disconnect Logging of Admin Tools
crfactory-class String com.swiftmq.auth.ChallengeResponseFactoryImpl Challenge/Response Factory Class
password String Authentication Password
flush-interval Long 500 Interval in which the Event queue is flushed to the SwiftMQ Explorers

Roles (roles/) — Administration Roles

JMX Settings (jmx/) — JMX Settings

Parameter Type Default Description
enabled Boolean false Enables/Disabled JMX Administration
groupable-objectnames Boolean true Creates groupable Objectnames instead of flat Names

Message Interface Settings (message-interface/) — Message Interface Settings

Parameter Type Default Description
enabled Boolean false Enables/Disabled Administration via Message Interface
request-queue-name String swiftmqmgmt-message-interface Input Queue Name for Admin Requests

Threadpool Swiftlet (sys$threadpool)

Threadpool Swiftlet

Root Properties:

Parameter Type Default Description
collect-interval Long 1000 Interval for collecting the Thread Counts
group-shutdown-order String The order in which the groups are being shut down

Groups (groups/) — Event Loop Groups

Parameter Type Default Description
freezable Boolean true If true, the groups event loops can be frozen for HA

Ad Hoc Platform (adhocplatform/) — Configures the Ad Hoc Platform Thread Factory

Parameter Type Default Description
core-pool-size Integer 0 Minimum number of threads to keep in the pool
max-pool-size Integer 30 Maximum number of threads in the pool
keepalive Long 1000 Keep alive time for idle threads in milliseconds

JNDI Swiftlet (sys$jndi)

JNDI Swiftlet

JNDI Replication (jndi-replications/) — JNDI Replication Definitions

Parameter Type Default Description
enabled Boolean false Enabled/Disabled
keepalive-interval Long 60000 Keepalive Interval
keepalive-lookup-name String test Name to use for Lookup during Keep Alive
destination-context String Destination Context
name-prefix String For LDAP you specify cn= here

Aliases (aliases/) — Alias Definitions

Parameter Type Default Description
map-to String Mapping to generic Name

Remote Queues (remote-queues/) — Remote Queue Definitions


Queue Manager Swiftlet (sys$queuemanager)

Queue Manager

Root Properties:

Parameter Type Default Description
collect-interval Long 1000 Interval for collecting the Number of Messages per Queue
cluster-metric-interval Long 10000 Interval for sending metrics about clustered queues
max-flowcontrol-delay Long 5000 Maximum Flow Control Delay
log-expired-messages Boolean false Log Expired Messages to the 'Warning' Log File
log-duplicate-messages Boolean false Log Duplicate Messages to the 'Warning' Log File
deliver-expired-messages Boolean false Deliver Expired Messages to Clients
cluster-topic String swiftmq.cluster Cluster Message Exchange Topic
multi-queue-transaction-global-lock Boolean false Use a global lock for multi Queue Transactions

System Queue Controllers (queue-controllers/) — Controllers for System Queues

Parameter Type Default Description
predicate String Queue Name SQL-Like Predicate
cache-size Integer 500 Message Queue Cache Size
cache-size-bytes-kb Integer -1 Message Queue Cache Size Bytes (KB)
cleanup-interval Long 120000 Interval to check for expired Messages
flowcontrol-start-queuesize Integer 400 Flow Control starts at this Queue Size
max-messages Integer -1 Max. Messages for this Queue
persistence-mode String as_message Persistence Mode of this Queue
consumer-mode String shared Consumer Mode
duplicate-detection-enabled Boolean true Enables/Diables Duplicate Message Detection
duplicate-detection-backlog-size Integer 2000 Size of the Backlog for Duplicate Message Detection
monitor-alert-threshold Integer -1 Threshold in Number of Messages after which the Monitor Swiftlet sends a Queue Monitor Alert

Clustered Queues (clustered-queues/) — Clustered Queues

Parameter Type Default Description
message-group-enabled Boolean false Enables/Diables grouping of Messages
message-group-property String JMSXGroupID Name of Property to group Messages
message-group-expiration Long -1 Time (ms) after the last occurance after which a message group expires
message-group-expiration-cleanup-interval Long -1 Interval (ms) in which message groups are checked for expiration

Composite Queues (composite-queues/) — Composite Queues

Queues (queues/) — Queue Definitions

Parameter Type Default Description
cache-size Integer 500 Message Queue Cache Size
cache-size-bytes-kb Integer -1 Message Queue Cache Size Bytes (KB)
cleanup-interval Long 120000 Interval to check for expired Messages
max-messages Integer -1 Max. Messages for this Queue
persistence-mode String as_message Persistence Mode of this Queue
consumer-mode String shared Consumer Mode
flowcontrol-start-queuesize Integer 400 Flow Control starts at this Queue Size
duplicate-detection-enabled Boolean true Enables/Diables Duplicate Message Detection
duplicate-detection-backlog-size Integer 2000 Size of the Backlog for Duplicate Message Detection
monitor-alert-threshold Integer -1 Threshold in Number of Messages after which the Monitor Swiftlet sends a Queue Monitor Alert

Authentication Swiftlet (sys$authentication)

Authentication Swiftlet

Root Properties:

Parameter Type Default Description
authentication-enabled Boolean false Enabes/Disables Authentication
password-check-only Boolean false If authentication is enabled, performs password checks only but not resource grants

Groups (groups/) — Authentication Group Definitions

Resource Limit Groups (resource-limit-groups/) — Resource Limit Group Definitions

Parameter Type Default Description
max-connections Integer -1 Maximum Connections
max-tempqueues Integer 50 Maximum temp. Queues/Connection
max-sessions Integer 50 Maximum Sessions/Connection
max-producers Integer 50 Maximum Producers/Connection
max-consumers Integer 50 Maximum Consumers/Connection

Users (users/) — User Definitions

Parameter Type Default Description
password String Password
group String public Authentication Group
resource-limit-group String public Resource Limit Group

JMS Swiftlet (sys$jms)

JMS Swiftlet

Root Properties:

Parameter Type Default Description
allow-same-clientid Boolean false Allows multiple connection with the same JMS Client Id if set to true
collect-interval Long 10000 Collect Interval Messages/Sec
max-connections Integer -1 Maximum JMS Connections
consumer-cache-low-water-mark Integer 100 Consumer caches are refilled when reaching this mark
crfactory-class String com.swiftmq.auth.ChallengeResponseFactoryImpl Challenge/Response Factory Class

IntraVM Connection Factories (intravm-connection-factories/) — IntraVM Connection Factories

Parameter Type Default Description
smqp-producer-reply-interval Integer 20 Number of SMQP Requests after which a SMQP Reply is required
smqp-consumer-cache-size Integer 500 Cache Size per Consumer (Messages)
smqp-consumer-cache-size-kb Integer 2048 Cache Size per Consumer (KB)
jms-client-id String JMS Client Id for durable Subscribers
jms-default-delivery-mode String persistent JMS Default Delivery Mode
jms-default-message-ttl Long 0 JMS Default Message TTL
jms-default-message-priority Integer 4 JMS Default Message Priority
jms-default-message-id-enabled Boolean true JMS Default Message Id Enabled
jms-default-message-timestamp-enabled Boolean true JMS Default Message Timestamp Enabled
thread-context-classloader-for-getobject Boolean false Use the Thread Context Classloader for getObject()

Listeners (listeners/) — Listener Definitions

Parameter Type Default Description
connectaddress String Listener Connect IP Address for NAT
connectport Integer -1 Listener Connect Port for NAT
bindaddress String Listener Bind IP Address
port Integer Listener Port
hostname2 String Hostname of the 2nd HA Instance
connectaddress2 String Listener Connect IP Address for NAT of the 2nd HA Instance
connectport2 Integer -1 Listener Connect Port for NAT of the 2nd HA Instance
bindaddress2 String Listener Bind IP Address of the 2nd HA Instance
port2 Integer -1 Listener Port 2nd HA Instance of the 2nd HA Instance
use-tcp-no-delay Boolean true Use Tcp No Delay
socketfactory-class String com.swiftmq.net.PlainSocketFactory Listener Socketfactory Class
keepalive-interval Long 60000 Interval for sending Keep Alive Messages
max-connections Integer -1 Maximum JMS Connections for this Listener
router-input-buffer-size Integer 131072 Router Network Input Buffer Size
router-input-extend-size Integer 65536 Router Network Input Extend Size
router-output-buffer-size Integer 131072 Router Network Output Buffer Size
router-output-extend-size Integer 65536 Router Network Output Extend Size

AMQP Swiftlet (sys$amqp)

AMQP Swiftlet

Root Properties:

Parameter Type Default Description
allow-same-containerid Boolean true If set to false, it is handled like a JMS Client Id
collect-interval Long 1000 Collect Interval Messages/Sec

Listeners (listeners/) — Listener Definitions

Parameter Type Default Description
bindaddress String Listener Bind IP Address
port Integer 5672 Listener Port
max-connections Integer -1 Maximum Connections for Listener
sasl-enabled Boolean true Enabled/Disabled SASL Authentication
connection-template String default Connection Template to use

Declarations (declarations/) — Declarations Section


MQTT Swiftlet (sys$mqtt)

MQTT Swiftlet

Root Properties:

Parameter Type Default Description
collect-interval Long 1000 Collect Interval Messages/Sec
session-timeout Long 168 Time in hours after which a unused Session is deleted

Listeners (listeners/) — Listener Definitions

Parameter Type Default Description
bindaddress String Listener Bind IP Address
port Integer 1883 Listener Port
max-connections Integer -1 Maximum Connections for Listener
connection-template String default Connection Template to use

Declarations (declarations/) — Declarations Section


Deploy Swiftlet (sys$deploy)

Deploy Swiftlet

Deploy Spaces (deploy-spaces/) — Deploy Spaces

Parameter Type Default Description
path String Path Name
check-interval Long 60000 Check Interval for Deployment Changes

Streams Swiftlet (sys$streams)

SwiftMQ Streams Microservice Engine

Root Properties:

Parameter Type Default Description
collect-interval Long 1000 Interval for collecting Stream usage information
stream-grant-predicates String stream\_% SQL-Like Predicates to grant Stream Topic access
stream-lib-directory String ../data/streamlib Hot deploy directory for external jar files used from a stream

Domains (domains/) — Stream Domain Names


Configuration Persistence

Changes made through the CLI are written to routerconfig.xml when the router shuts down cleanly. Properties marked as "reboot required" take effect only after a Swiftlet restart. All other property changes take effect immediately.