-
Language:
English
-
Language:
English
AMQ Clients 2.6 Release Notes
Release Notes for Red Hat AMQ Clients
Abstract
Chapter 1. Features
- The clients have a new suite of examples and expanded documentation.
Chapter 2. Enhancements
2.1. AMQ JMS
ENTMQCL-1726 - Improve performance when using simulated anonymous producers
When connected to servers that do not support anonymous senders, the client now caches senders in order to improve performance.
2.2. AMQ Python
ENTMQCL-1361 - Convert strings in the API to AMQP symbols where required
The client now converts Python strings to AMQP symbols in contexts where symbols are required.
Chapter 3. Fixed issues
3.1. AMQ JMS
ENTMQCL-1835 - Consumers using a
CLIENT_ACKNOWLEDGE
session do not increment the remote delivery count after session recoveryIn earlier releases of the product, consumers created with a session in
CLIENT_ACKNOWLEDGE
mode did not increment the remote delivery count if the session was lost and recovered and the deliveries were not acknowledged after recovery.In this release, the client sends delivery state updates for messages as the consumer or session is closed to ensure the delivery count is correctly updated.
3.2. AMQ Python
ENTMQCL-1364 - The client abruptly disconnects after a TCP half-close
In earlier releases of the product, a TCP half-close from a remote peer triggered an AMQP framing error. This appeared as an error even though it was a normal connection close condition.
In this release, the client correctly closes the connection without error in this case.
ENTMQCL-1578 - The client leaks transport and selectable objects
In earlier releases of the product, circular references in the client implementation caused memory use to increase over time.
In this release, the circularity of the references is broken so that memory is correctly freed.
Chapter 4. Important notes
4.1. AMQ C++
Unsettled interfaces
The AMQ C++ messaging API includes classes and methods that are not yet proven and can change in future releases. Be aware that use of these interfaces might require changes to your application code in the future.
These interfaces are marked Unsettled API in the API reference. They include the interfaces in the
proton::codec
andproton::io
namespaces and the following interfaces in theproton
namespace.-
listen_handler
-
The
on_sender_drain_start
andon_sender_drain_finish
methods onmessaging_handler
-
The
draining
andreturn_credit
methods onsender
-
The
draining
anddrain
methods onreceiver
API elements present in header files but not yet documented are considered unsettled and are subject to change.
-
Deprecated interfaces
Interfaces marked Deprecated in the API reference are scheduled for removal in a future release.
This release deprecates the following interfaces in the
proton
namespace.-
void_function0
- Use thework
class or C++11 lambdas instead. -
default_container
- Use thecontainer
class instead. -
url
andurl_error
- Use a third-party URL library instead.
-
4.2. Preferred clients
In general, AMQ clients that support the AMQP 1.0 standard are preferred for new application development. However, the following exceptions apply:
- If your implementation requires distributed transactions, use the AMQ Core Protocol JMS client.
- If you require MQTT or STOMP in your domain (for IoT applications, for instance), use community-supported MQTT or STOMP clients.
The considerations above do not necessarily apply if you are already using:
- The AMQ OpenWire JMS client (the JMS implementation previously provided in A-MQ 6)
- The AMQ Core Protocol JMS client (the JMS implementation previously provided with HornetQ)
4.3. Legacy clients
Deprecation of the CMS and NMS APIs
The ActiveMQ CMS and NMS messaging APIs are deprecated in AMQ 7. It is recommended that users of the CMS API migrate to AMQ C++, and users of the NMS API migrate to AMQ .NET. The CMS and NMS APIs might have reduced functionality in AMQ 7.
Deprecation of the legacy AMQ C++ client
The legacy AMQ C++ client (the C++ client previously provided in MRG Messaging) is deprecated in AMQ 7. It is recommended that users of this API migrate to AMQ C++.
The Core API is unsupported
The Artemis Core API client is not supported. This client is distinct from the AMQ Core Protocol JMS client, which is supported.
4.4. Upstream versions
- AMQ C++, AMQ Python, and AMQ Ruby are now based on Qpid Proton 0.30.0
- AMQ JavaScript is now based on Rhea 1.0.16
- AMQ JMS is now based on Qpid JMS 0.48.0
- AMQ .NET is now based on AMQP.Net Lite 2.3.0
Chapter 5. Important links
- Red Hat AMQ 7 Supported Configurations
- Red Hat AMQ 7 Component Details
- AMQ Clients 2.5 Release Notes
- AMQ Clients 2.4 Release Notes
- AMQ Clients 2.3 Release Notes
- AMQ Clients 2.2 Release Notes
- AMQ Clients 2.1 Release Notes
- AMQ Clients 2.0 Release Notes
- AMQ Clients 1.2 Release Notes
- AMQ Clients 1.1 Release Notes
Revised on 2020-02-26 17:29:47 UTC