Chapter 3. Important notes

3.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 and proton::io namespaces and the following interfaces in the proton namespace.

    • listen_handler
    • The on_sender_drain_start and on_sender_drain_finish methods on messaging_handler
    • The draining and return_credit methods on sender
    • The draining and drain methods on receiver

    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 the work class or C++11 lambdas instead.
    • default_container - Use the container class instead.
    • url and url_error - Use a third-party URL library instead.

3.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)

3.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.

3.4. Upstream versions