Release 8.1.0

Enhancements

  • Performance improvements: Up to 100 times for pubsub/durable/persistent and up to 10 times for ptp/persistent! Check the new Performance Profile
  • Store Swiftlet: Supports now composite transactions for durable subscribers and stores messages only once. More ...
  • JDBC Store Swiftlet: Supports now composite transactions for durable subscribers.
  • Network NIO Swiftlet: New configurable option to use direct (native) buffers. More ...
  • JavaMail Bridge Swiftlet: Added "imaps", "smtps" as supported protocol types.

Changes

  • Starting from his release SwiftMQ requires JDK 1.5 or greater.
  • Store Swiftlet: Attribute "group-commit-delay" has been removed.
  • Store Swiftlet: New default "initial-page-size" is now 25600 pages (50 MB).
  • Store Swiftlet: transaction.log is now preallocated with a size given in attribute "checkpoint-size" plus an extension of 25% (about 13 MB total per default).
  • Store Swiftlet: The router will now be stopped via System.exit in case of an IOException (e.g. full disk).
  • Threadpool Swiftlet: Default for pool "jms.session", attribute "max-threads" is now 100.
  • JSSESocketFactory: Now performs setSoTimeout before starting SSL Handshake.
  • JMS Client: MessageConsumer.receive(timeout) will not timeout anymore during a transparent reconnect.
  • JMS Client: Removed dom4j dependencies.
  • All scripts: Increased max heap size to -Xmx1024M.
  • All scripts: Removed the JSSE related jar files (now included in the JDK).

Bugfixes

  • TopicManager: Using a counter-based subscription id leads to huge array creation and GC activity (= slowdown of the whole router) when continuously connecting/disconnecting with a large number of subscribers.
  • JMS Client: Duplicate backlog size is not decreased when closing a consumer and may cause an OutOfMemory error if consumers are created and closed very often on long-running connections.
  • JMS Client: ConnectionConsumer: Duplicate detection may remove message in case of transaction rollback during a failover and redelivery.

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