What is a Swiftlet?

Nicholas Whitehead

SwiftMQ is based on a framework of components named Swiftlet(R). It is differentiated between Kernel and Extension Swiftlets. Kernel Swiftlets provide the basic functionality of a router and Extension Swiftlets do enhance this functionality.

Every licensed SwiftMQ Router distribution contains the Extension Swiftlet API which provides you with everything you need to write your own Extension Swiftlets. The Swiftlet API consist of

  • A detailed and comprehensive user guide.
  • 2 example Swiftlet: a pub/sub cache and an event generator.
  • All necessary SwiftMQ javadoc.

Extension Swiftlets offer the following advantages:

  • Execution inside of the virtual machine of the router.
  • Direct access to router components and resources (queues/topics).
  • Direct management-tree access which means access to every router event.
  • They can be managed by the management-tree and thus by the SwiftMQ Explorer/CLI.
  • They are hot deployed, i.e. they can be loaded and deleted during runtime (incl. version upgrades), without stopping the router.
  • They are high-scalable because of the asynchronous design and the use of threadpools.
  • They make socket-connected JMS Clients with reconnect logic unnecessary.
  • They extend a SwiftMQ Router to an application server.