Release 9.3.0

Enhancements

  • SwiftMQ Explorer/CLI/Queue Manager Swiftlet: New message file import and export to/from queues in XML and binary format. SwiftMQ Explorer / CLI
  • JNDI: Introducing a new JNDI file system provider based on XStream. More ...
  • HA Controller Swiftlet: Introducing new options for deterministic actions on a "split brain" incident. More ...

Changes

  • Store Swiftlet (HA): If there is an inconsistent store detected during startup, it is not recovered but the instance is stopped to avoid a startup with such a store after a "split brain".
  • HA Controller Swiftlet: New SMQPHA protocol version v930.
  • PlainSocketFactory: A socket connect hangs without getting a timeout if the remote host doesn't respond (down, firewall, network issues) and the TCP default timeout is set too high. Affects client connections and routing/HA connectors. Introduced new system property "swiftmq.socket.connect.timeout" with a default of 5000 ms. More ...
  • SwiftMQ Explorer: Commands halt, reboot and the corresponding commands of SwiftMQ HA Router must now be confirmed before execution.

Bugfixes

  • Store Swiftlet (HA): A java.io.EOFException may be thrown at the STANDBY as a result of executing a shrink command at the ACTIVE.
  • JMS Client, MessageProducer: Prepend "ID:" when setting JMS message id on a foreign message.
  • JMS Client/Swiftlet, Network Swiftlet/Network NIO Swiftlet: Don't disconnect due to missing keepalive messages when sending large messages over slow connections.
  • JAC Swiftlet: An error in the deployment of one application prevents deployment of other applications.
  • Topic Manager Swiftlet: Create a new topic via SwiftMQ Explorer or CLI is not possible if that topic was already created at another Router in the Federated Router Network.

Compatibility

  • Configuration compatible with previous releases: 4.5.0 (routerconfig.xml will be converted on the first startup)
  • Class compatible with previous releases: 5.1.0 (see release notes of release 5.1.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

How to Upgrade

SwiftMQ 9.3.0 defines two AMQP listeners on port 5672 (plain) and 5671 (SSL/TLS) to be able to run AMQP out of the box. They will also be added as part of the rolling upgrade process as specified on the links below. If you don't need these listeners, you may either delete them *after* the upgrade or use the "NOAMQP" option on the new release *during* the upgrade on the first start of the router start script of the new release, e.g:

        ./smqr1 NOAMQP

or

        ./smqr1_replicated NOAMQP

The option work on HA and non-HA releases but only on the very first start where the config files will be upgraded.