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.0This support has been added as a result of requests from customersCustomers 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 toqpid-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 theMessaging Installation and Configuration
Guide’sLinearstore 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.