Release 5.0.0


JCA 1.5 Resource Adapter

This release contains a full featured Java Connector Architecture (JCA) 1.5 resource adapter to plug SwiftMQ into any J2EE 1.4 compliant application server. The resource adapter has been tested and works with:

  • J2EE 1.4 Application Server (J2EE Reference Implementation)
  • WebSphere 6.0 (WASD 6.0)
  • Resin EE 3.x
  • Oracle 10.0.3 Preview 2
  • Upcoming WebLogic release

Read more ...

JMS Application Container / Scheduler Swiftlet: Hot Deploy Jobs

A schedule can now be specified in the deployment descriptor of a hot deploy application and so one is able to create hot deploy jobs. The creation and removal of the job schedule at the Scheduler Swiftlet will be done automatically. Read more ...

JNDI: Reconnect Context

SwiftMQ's JNDI InitialContext can now be configured (by JNDI properties) to transparently reconnect to the same or an unlimited number of different routers in a round-robin fashion. Read more ...

Topic Manager Swiftlet: Display/Remove Remote Subscriptions

The Topic Manager Swiftlet now displays remote router's topic subscriptions below the "Usage" folder. It is also possible to remove remote subscriptions administratively to put a remote router of a federated router network "graceful" out of service without requiring to restart other routers. Read more ...


  • JMS XA/ASF / XA Resource Manager Swiftlet: XA processing changed to conform with JCA 1.5, especially to allow multiple sessions to work on the same Xid. XAResource.isSameRM now only returns false if it is a different SwiftMQ router instance or a different XAResource implementation.
  • JAC/Scheduler Swiftlet: New attribute added "main-return-is-stop" for static applications to mark an application as finished when the main method returns. This avoids to specify a maximum runtime for jobs of the Scheduler Swiftlet which invoke static applications.
  • SwiftMQ Explorer: New icons.
  • JNDI (Client): Added keepalive=<value> to SMQP-URL to detect broken JNDI connections.
  • Network Swiftlet/Network NIO Swiftlet (Multicast): Changed multicast default settings to min-rate=64 kbits/s, max-rate=1024 kbits/s, ttl=1.
  • Network Swiftlet/Network NIO Swiftlet: The default for reusing server socket is now false.
  • Network Swiftlet/Network NIO Swiftlet: Introduced a zombi connection timeout to avoid possible DoS attacks. Zombi connections are those connections which are created but where no data is sent. Since the keepalive has not been started yet, these connection were never closed in the past.
  • Store Swiftlet: XA log file removed and integrated into the transaction log.
  • Store Swiftlet: New attribute "group-commit-delay" to delay the log manager to get more log records in the next log manager interval. Default is 0 (no delay). A value > 0 makes only sense on a high parallelism of store transactions.


  • Queue Manager Swiftlet: Administratively remove of messages should only be possible for unlocked messages.
  • SwiftMQ Explorer/CLI: Locked messages are now marked in the message viewer.
  • SwiftMQ Explorer: Viewer should not freeze when it displays a message with empty body (javax.jms.Message).
  • SwiftMQ Explorer: Authenticate/Password entry dialog throws NullPointerException if Cancel is pressed.
  • JNDI (Client): Added CommunicationException if the exception is caused by the underlying JMS connection. Only use NameNotFoundException if a timeout has occured.
  • JMS Swiftlet: Fixed acknowledgement bug with non-durable topic subscribers and ack mode DUPS_OK_ACKNOWLEDGE.
  • Network Swiftlet/Network NIO Swiftlet (Multicast): Several synchronization bugs fixed in LRMP.
  • Network NIO Swiftlet: Added a new attribute "op-write-max-wait-time" to avoid endless wait for OP_WRITE events. This is a workaround of a java.nio bug.
  • Swiftlet API: javadocs updated (com.swiftmq.mgmt missed).
  • Authentication, ChallengeResponse: Bug in response generator fixed.


  • Configuration compatible with previous releases: 4.5.0
  • Class compatible with previous releases: Due to a bug in the ChallengeResponse authentication this release is not compatible with previous releases if authentication via a password is used (null password works back to 4.0.0). This concerns password protected JMS and routing connections.
  • Message compatible with previous releases: 4.0.0
  • Store compatible with previous releases: 4.0.0
  • Protocol compatible with previous releases: 4.0.0