Universal Router (UR)
Overview
The Universal Router extends the Community Edition (CE) with additional capabilities for enterprise messaging scenarios. UR includes all CE functionality plus extensions for bridging, caching, and integration with external systems.
Installation and Directory Structure
The UR distribution uses the same directory structure as CE, with the same startup scripts (router, cli, clis, cliamqp) and the same configuration layout (data/config/routerconfig.xml, data/log/, data/store/, data/preconfig/).
The only addition is the optional-swiftlets/ directory, which contains optional kernel replacement swiftlets (JDBC-backed Authentication and Store). To activate an optional swiftlet, copy it into the kernel/ directory and update routerconfig.xml accordingly.
Starting the router, connecting with the CLI, and all administrative procedures are identical to CE.
What UR Adds
Extension Swiftlets
UR provides hot-deployable extension swiftlets that add functionality beyond the CE core:
- AMQP Bridge Extension Swiftlet — The AMQP Bridge Extension Swiftlet provides bridging capabilities between AMQP 1.0 and AMQP 0.9.1 endpoints.
- JavaMail Bridge Extension Swiftlet — The JavaMail Bridge Extension Swiftlet provides integration between SwiftMQ queues/topics and email systems using the JavaMail API.
- JMS Bridge Extension Swiftlet — The JMS Bridge Extension Swiftlet enables message bridging between SwiftMQ and external JMS servers.
- Replicator Extension Swiftlet — The Replicator Extension Swiftlet provides file replication capabilities between SwiftMQ routers.
Additional System Swiftlets
- FileCache Swiftlet — The FileCache Swiftlet provides managed, persistent file caching and transfer capabilities within the SwiftMQ router.
- JMS Application Container Swiftlet — The JMS Application Container Swiftlet (
sys$jac) provides a managed environment for running custom Java applications within the SwiftMQ router.
Optional Kernel Replacements
UR includes optional JDBC-based replacements for CE kernel swiftlets, located in the optional-swiftlets/ directory:
- JDBC Authentication Swiftlet — The JDBC Authentication Swiftlet provides authentication and authorization for SwiftMQ routers by integrating with an external relational database via JDBC.
- JDBC Store Swiftlet — The JDBC Store Swiftlet provides persistent and non-persistent message storage for SwiftMQ queues using a JDBC-compliant relational database.
These are drop-in replacements: copy the swiftlet into kernel/, configure the alternative swiftlet in routerconfig.xml, and the router uses the JDBC-backed implementation transparently.
Deployment
Extension swiftlets are deployed into the data/deploy/ directory and the router discovers and starts them automatically at runtime. Optional kernel swiftlets must be placed in kernel/ and configured in routerconfig.xml before startup.