Release 4.5.0

Enhancements

New Scheduler Swiftlet

The Scheduler Swiftlet is an enterprise-class job scheduler and an integral part of each router (standard distribution). It enables users to run jobs at specific daytimes or in intervals, optionally based on stackable calendars. Predefined jobs are provided by other Swiftlets and registered at the Scheduler Swiftlet within job groups, one for each Swiftlet. Own jobs can be scheduled by using an application invoker job from the JMS Application Container Swiftlet which is able to invoke any embedded Java application as a job. Therefore, one can schedule existing or develop new Java applications without the need to implement any proprietary interfaces (as with other scheduler products).

Further, any JMS client is able to schedule message jobs programmatically by using the whole feature set of the Scheduler Swiftlet. For example, it is possible to schedule a message to be delivered 2 hours later or in repeat intervals such as heart beat messages and so on. More ...

A bunch of predefined jobs are available which can be used out of the box:

  • JMS Application Container Swiftlet: Application Invoker
  • Queue Manager: Queue Mover, Queue Purger, Queue Cleanup
  • Topic Manager: Delete Durable
  • Store Swiftlet: Backup
  • Routing Swiftlet: Routing Connector
  • JavaMail Bridge Swiftlet: Inbound Bridge, Outbound Bridge
  • JMS Bridge Swiftlet: Server Bridge

Read the full job descriptions here.

Store Swiftlet with Online Backup

It is now possible to perform online backups of the persistent store. Backups are organized as save sets. The Store Swiftlet maintains a configurable number of stored save sets (deletes the oldest during the backup). A backup job is registered at the Scheduler Swiftlet to schedule backups, e.g. each business day at 23:30. More ...

Queue Manager Swiftlet: System Queue Controllers

System Queue Controllers are responsible to control the behavior of system queues (temp. queues, routing queues, etc) in SwiftMQ such as changing the cache size for all temp queues or a particular durable subscriber queue. More ...

Timer Swiftlet: Automatic Detection of System Time Changes

The Timer Swiftlet detects now changes of the system time, e.g. caused by cluster time syncs or summer/winter time changes, and rebuilds its task queue accordingly. More ...

SwiftMQ Explorer: GUI Performance Improvements

The GUI update performance of entity tables such as "Network Swiftlet/Usage" has been significantly improved, so it should now be possible to watch the throughput of, say, 1000 connections under high load from the SwiftMQ Explorer without being a bottleneck.

Improved Documentation

The SwiftMQ docs have been restructured and improved.

Changes

All default attributes such as "Default Cache Size" of the Queue Manager Swiftlet and "Default Socket Factory Class" of the Routing Swiftlet have been removed. The defaults of the Queue Manager Swiftlet are now handled by the queue controllers. All other default attributes have been integrated in the dependent attributes, e.g. the default socket factory of a routing connector is now directly "com.swiftmq.net.PlainSocketFactory" instead of referencing the default attribute.

Bugfixes

  • SQL-Like: "t.t.com" doesn't match with "%t.com".
  • Default attributes were not correctly applied to queues on router start.

Compatibility

  • Configuration compatible with previous releases: 4.0.0 (conversion to 4.5.0 takes place automatically on the first start up; if you want to convert it manually, please check the diff files contained in the config directories)
  • Class compatible with previous releases: 4.0.0
  • Message compatible with previous releases: 4.0.0
  • Store compatible with previous releases: 4.0.0
  • Protocol compatible with previous releases: 4.0.0