System Queues
Overview
System queues are internal queues created and used by SwiftMQ Swiftlets for router operations. They are identified by the $ character in their name. System queues should NOT be used by applications directly.
System Queue Reference
sys$amqp
- Swiftlet: sys_amqp
- Purpose: System queue used internally by the AMQP swiftlet for channel and source link management.
- Persistent: No
tmp$
- Swiftlet: sys_queuemanager
- Purpose: Prefix for temporary queues used for request-reply and temporary destinations. Actual queues are named tmp$
- . - Persistent: No
tmp$<sequence>-<startuptime>
- Swiftlet: sys_queuemanager
- Purpose: Temporary queues created for request-reply patterns, with names including a sequence number and router startup timestamp.
- Persistent: No
sys$mqtt_sessionstore
- Swiftlet: sys_mqtt
- Purpose: System queue for storing MQTT session state.
- Persistent: Yes
routerdlq
- Swiftlet: sys_queuemanager
- Purpose: Dead letter queue for undeliverable messages.
- Persistent: Yes
unroutable
- Swiftlet: sys_routing
- Purpose: Queue for messages that cannot be routed to any destination.
- Persistent: Yes
rt$<destination-router>
- Swiftlet: sys_routing
- Purpose: Routing queue for store-and-forward to a specific remote router. No @localrouter suffix.
- Persistent: Yes
swiftmqmgmt
- Swiftlet: sys_mgmt
- Purpose: Queue used by the management swiftlet for management messages.
- Persistent: Yes
sys$scheduler
- Swiftlet: sys_scheduler
- Purpose: Internal system queue for scheduling tasks.
- Persistent: No
swiftmqscheduler
- Swiftlet: sys_scheduler
- Purpose: Queue for the scheduler swiftlet to manage scheduled jobs.
- Persistent: Yes
sys$prepared
- Swiftlet: sys_store
- Purpose: Queue for storing prepared transactions in the store swiftlet.
- Persistent: Yes
streamlib
- Swiftlet: sys_streams
- Purpose: Queue used by the streams swiftlet for stream library deployment.
- Persistent: Yes
sys$topic
- Swiftlet: sys_topicmanager
- Purpose: System queue for topic management and processing.
- Persistent: Yes
sys$xa_heuristic
- Swiftlet: sys_xa
- Purpose: System queue for storing heuristic transaction outcomes in XA transactions.
- Persistent: Yes
clientId$durableName
- Swiftlet: sys_jms
- Purpose: Queue for durable JMS subscriptions, named by client ID and durable subscription name.
- Persistent: Yes
tpc$<roottopic>
- Swiftlet: sys_topicmanager
- Purpose: Virtual queue for topic processing; one per root topic, serializes all subtopics under the same root.
- Persistent: No
Queue Naming Conventions
System queues are identified by the $ character in their names. Prefixes such as sys$ indicate system management queues, tmp$ denotes temporary queues (with names like tmp$