Release 7.3.0

Enhancements / Improvements

  • CLI: Support for Jline added to provide a command history, command line editing and password character masking.
  • CLI: Support for CLI command aliases added, including new CLI commands alist , aset , adel and asave .
  • CLI: Multiple CLI command can now be executed on a single line (delimiter is ";").
  • CLI: New execute command to execute CLI scripts out of a CLI session.
  • CLI: New copy command to copy messages between destinations.
  • CLI: New move command to move messages between destinations.
  • CLI: New sum command to aggregate property values of an entity list.
  • CLI: New echo command to enable basic output formatting for CLI scripts.
  • CLI: Enhanced remove command to remove multiple messages at once (e.g. first 1000 messages of a queue).
  • CLI: Display number of entities as a result of "lc" command.
  • CLI: Display of "help" output improved.
  • JMS Client (producers): System property swiftmq.jms.objectmessage.buffersize can now be used to set the buffer size in bytes for ObjectMessage.setObject(object) to enable faster serialization of large objects.
  • JMS Client: JMS Pooling for Spring's JmsTemplate and plain JMS added.
  • Threadpool Swiftlet: The change of the value of "max-threads" of kernel pools is now possible without requiring a router reboot.
  • Topic Manager: New mode (and attribute) Direct Subscriber Selection to select subscribers directly via a publisher topic.

Changes

  • JCA: Ignore setLogWriter in any JCA class if the resource adapter property "Debug" is false. This is a workaround for this JBoss bug.
  • JMS: A clustered queue destination, which was created with session.createQueue, will not throw a "Consumer not local" exception anymore.
  • SwiftMQ Threads (client and router side): They have now different names (instead of the simple "PoolThread").

Bugfixes

  • JMS Client: MessageConsumer.receive() does not return after the reconnector reaches max retries.
  • JMS Swiftlet: Collecting of the number msgs/sec (to display in SwiftMQ Explorer) consumes too much cpu.
  • JSSE: Static reference to Sun's security provider removed. Security provider is now configurable via system properties swiftmq.jsse.set.security.provider and swiftmq.jsse.security.provider .
  • XA: Wrong error code set in XAException if JMS XA/ASF Swiftlet is not installed or a TransportException occurs. Error code will now be set to XAER_RMFAIL (-7).
  • Message Selector: String literals with 16 bit Unicode characters fail.

Compatibility

  • If you use SQL-Like predicates as topic names, e.g. sending to a "topic feeds.%.IBM", you should disable Direct Subscriber Selection .
  • 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