Chapter 2. Changes in 3.2.0

2.1. Enhancements

distribution

BZ#1215806 - Provide qpid JMS client that supports AMQP 1.0

MRG-M now offers a qpid JMS client at version 6.2, which supports AMQP 1.0

This support has been added as a result of requests from customers

Customers can now use AMQP 1.0 through the JMS client. Documentation for this feature is available from http://qpid.apache.org/components/jms/index.html.

Note

The new AMQP 1.0 qpid-jms client does not support the MRG-specific address strings used by the older AMQP 0.10 java client.

In the new client, the queue name and and topic name strings given to the new client represent only the name of the Queue or Topic to consume from or publish to.

Other concepts from the old client syntax such as subjects or operations to create and delete entities are not supported.

qpid-cpp

BZ#1261180 - [Enhancement] Make the journal flush timeout configurable in the C++ broker

The qpidd persistent message store flush timeout can be configured using a command line option or using the qpidd configuration file. In previous versions of the product, this time was set at 500ms.

The appropriate command line option is:
--journal-flush-timeout SECONDS

The parameter is in seconds but can be a decimal, and will also accept suffixes to allow specification in seconds (s), milliseconds (ms), microseconds (us) and nanoseconds (ns). (this is consistent with the other parameters that can also be times).

Setting this option in the qpidd configuration file follows the syntax shown below:
journal-flush-timeout=1ms
BZ#1151446 - Heartbeats for AMQP 1.0 Qpid Messaging API

When an AMQP 1.0 client advertises a connection idle timeout value, twice that value is used by the broker as its idle timeout threshold for that connection. This is consistent with the existing 0-10 behavior.

This causes the broker to terminate any client that has been idle for twice the value of the client’s idle timeout.

It is important to note that in this context, advertized means the value sent as the idle timeout in the open frame.

Most clients advertize half their configured timeout, but a client may advertise a full configured timeout.

This interval is set by passing the 'heartbeat' option to the qpid::messaging::Connection constructor. The value is expressed in seconds. You can pass these via the --connection-options command line argument to qpid-receive:
qpid-receive --connection-options "{protocol: amqp1.0, heartbeat: 10}" ....

Note

The broker does not support the configuration of a default idle-timeout on the broker side. The idle timeout value for the connection is entirely determined by the configuration of the connection made by the client. There is no way to override this value on the broker side via management.
BZ#1015448 - AMQP 1.0 qpid::messaging c++ local transactional support to be enabled (Transactions not yet supported)

Local transactional support is now available for the AMQP 1.0 qpid::messaging c++ client. This feature was available with the AMQP 0-10 protocol, but was missing as a feature of the AMQP 1.0 protocol. Any customer who attempted to use the feature with the old protocol, and tried to upgrade, would have encountered a Transactions not yet supported error.

Transactional support in AMQP 1.0 works as it did in AMQP 0-10, and customers can now continue to use the same approach in the latest version of AMQP.
BZ#1160367 - [linearstore] Add ability to use disk partitions and select per-queue EFPs

The store now supports partitions for the empty file pools and store journal files.

To select a default broker partition use the --efp-partition option which can be used together with the --efp-file-size option if needed. If these options are not used, the default partition is 1 (p001 in the store directory) and the size is 2048k.

See the Messaging Installation and Configuration Guide’s Linearstore Custom Broker EFP Partitions section for more information, and links to related section describing the new parameters in more detail.

qpid-sdk

BZ#1152686 - qpid-winsdk should support Microsoft Visual Studio 2012

Feature: qpid-winsdk now supports Microsoft Visual Studio (VS) 2012, which now means Visual Studio 2008, 2010, 2012 are supported for qpid-winsdk. Information about the correct files to consume from qpid-winsdk can be found in the Messaging Programming Reference Guide’s C++ on Windows section. This section has been improved to describe the correct directory structure of the download binaries, and provides steps to correct consume the contents of the binaries for environments with an established (VS) environment.