AMQ Clients 2.11 リリースノート

Red Hat AMQ Clients 2.11

Red Hat AMQ Clients のリリースノート

概要

本リリースノートには、AMQ Clients 2.11 リリースに含まれる新機能、改良された機能、修正、および問題に関する最新情報が含まれています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

第1章 新機能および変更された機能

注記

このリリースでは、Node.js に最低限必要な新しいバージョンが導入されています。AMQ JavaScript クライアントには、Node.js バージョン 14 以降が必要です。詳細は、Red Hat AMQ 7 サポートされる設定 を参照してください。

  • ENTMQCL-3126 - FIPS モードでの操作のサポート

    すべてのクライアントは、FIPS モードが有効になっている Red Hat Enterprise Linux 8 (RHEL 8) でテストされています。すべての Java ベースのクライアントは、FIPS モードが有効になっている OpenJDK11 でテストされています。

    RHEL 8 で FIPS モードを有効にする方法は、RHEL8 セキュリティー強化 を参照してください。

    OpenJDK 11 で FIPS モードを有効にする方法は、FIPS を使用した RHEL での OpenJDK 11 の設定 を参照してください。

1.1. AMQ C++

  • ENTMQCL-2957 - 配信追跡用の改善された C++ API

    AMQ C++ クライアントは、配信およびトラッカーオブジェクトの AMQP 配信タグのアクセサーを提供するようになりました。

1.2. AMQ JMS

  • ENTMQCL-3125 - Java17 のサポート

    AMQ JMS は Java 17 をサポートするようになりました。

  • ENTMQCL-3129 - Quarkus JMS

    Qpid JMS (AMQ JMS) の Quarkus 拡張機能が、AMQ クライアントの一部としてサポートされるようになりました。

    拡張機能は code.quarkus.redhat.com で入手できます。フィルターバーで QpidJMS を検索します。詳細は、Quarkus ドキュメント を参照してください。

第2章 修正された問題

2.1. AMQ C++

  • ENTMQCL-2975 - ユーザーが空のベクターを connection_options::failover_urls に渡すと、再接続時にクラッシュする

    製品の以前のリリースでは、提供されたフェイルオーバー URL のリストが空の場合、再接続を試みるクライアントプログラムがクラッシュしました。

    このリリースでは、再接続は期待どおりに機能します。

2.2. AMQ Python

  • ENTMQCL-2242 - トレースが有効で、メッセージに注釈はあるがトレースコンテキストがない場合の KeyError

    製品の以前のリリースでは、トレースが有効になっているときにクライアントが予期しない例外を出力し、注釈付きのメッセージが検出されましたが、トレースコンテキストの注釈はありませんでした。

    このリリースでは、トレースは、トレースコンテキストのないメッセージに対して期待どおりに機能します。

第3章 重要事項

3.1. 長期サポート

AMQ Clients 2.11 は、ロングタームサポート (LTS) リリースバージョンとして利用できます。バグ修正およびセキュリティーアドバイザリーは、AMQ Clients 2.11 に対して、一連のマイクロリリース (2.11.1、2.11.2、2.11.3 など) で少なくとも 12 か月間提供されます。

LTS リリースストリームに関する以下の重要なポイントに注意してください。

  • LTS リリースストリームでは、バグ修正のみが提供されます。このストリームには新しい機能拡張は追加されません。
  • サポート対象の設定を維持するには、LTS リリースストリームの最新マイクロリリースにアップグレードする必要があります。
  • LTS バージョンは、AMQ クライアント 2.11.0 GA の時点から少なくとも 12 か月間サポートされます。

3.2. AMQ C++

  • 未設定のインターフェイス

    AMQ C++ メッセージング API には、まだ証明されておらず、将来のリリースで変更される可能性のあるクラスとメソッドが含まれています。これらのインターフェイスを使用すると、将来的にアプリケーションコードを変更する必要がある場合があることに注意してください。

    これらのインターフェイスは、API リファレンスで 未設定の API と記されています。これには、proton::codec and proton::io namespace のインターフェイスと、proton namespace における以下のインターフェイスが含まれます。

    • listen_handler
    • messaging_handleron_sender_drain_start および on_sender_drain_finish メソッド
    • senderdraining および return_credit メソッド
    • receiverdraining および drain メソッド

    ヘッダーファイルに存在するがまだ文書化されていない API 要素は未解決と見なされ、変更される可能性があります。

  • 非推奨のインターフェイス

    API リファレンスで 非推奨 と記されるインターフェイスは、将来のリリースで削除される予定です。

    本リリースでは、proton namespace で以下のインターフェイスが非推奨になります。

    • void_function0: 代わりに work クラスまたは C++11 lambda を使用します。
    • default_container: 代わりに container クラスを使用してください。
    • URL および url_error: 代わりにサードパーティーの URL ライブラリーを使用してください。

3.3. 優先クライアント

一般に、AMQP 1.0 標準をサポートする AMQ クライアントは、新しいアプリケーション開発に適しています。ただし、以下の例外が適用されます。

  • 実装で分散トランザクションが必要な場合は、AMQ Core Protocol JMS を使用してください。
  • ドメインで MQTT または STOMP が必要な場合 (たとえば、IoT アプリケーションの場合) は、コミュニティーでサポートされている MQTT または STOMP クライアントを使用します。

3.4. レガシークライアント

  • AMQ OpenWire JMS クライアントの廃止

    AMQ OpenWire JMS クライアントは、AMQ7 で非推奨になりました。このクライアントのユーザーは、AMQ JMS または AMQ Core Protocol JMS に移行することが推奨されます。

  • CMS および NMS API の非推奨

    ActiveMQ CMS および NMS メッセージング API は、AMQ7 で非推奨になりました。CMS API のユーザーは AMQC++ に移行し、NMS API のユーザーは AMQ.NET に移行することが推奨されます。CMS および NMS API は、AMQ7 の機能が低下している可能性があります。

  • 従来の AMQC++ クライアントの廃止

    従来の AMQC++ クライアント (以前は MRG Messaging で提供されていた C ++ クライアント) は、AMQ7 では非推奨になっています。この API のユーザーは AMQC++ に移行することが推奨されます。

  • Core API はサポート対象外

    Artemis Core API クライアントはサポートされていません。このクライアントは、サポートされている AMQ Core Protocol JMS クライアントとは異なります。

3.5. アップストリームバージョン