第3章 機能拡張
ENTMQBR-428: SASL 外部の実装
AMQ Broker は、ユーザー名とパスワードなどの従来のクレデンシャルを使用する代わりに、接続の SSL 証明書のアイデンティティーを使用して AMQP 接続を検証できます。この利点は、セキュアなアクセスが SSL 証明書で管理されるデプロイメントの利点です。
ENTMQBR-831 - ブローカーはランタイム時に
logging.properties
の変更に応答する必要があるAMQ Broker は、ブローカーを再起動せずに
logging.properties
設定ファイルに加えた変更を保持するようになりました。
ENTMQBR-893 - パスワードのマスクが
login.config
で動作しないJAAS 設定ファイルの
login.config
でパスワードをマスクできるようになりました。以前は、login.config
ではパスワードマスクに対応していませんでした。つまり、ファイルのパスワードはプレーンテキストで保存されていました。
ENTMQBR-908 -
bootstrap.xml
でマスクされたパスワードをサポートするbroker.xml
設定ファイルでパスワードをマスクできるようになりました。以前のバージョンでは、パスワードマスクはbroker.xml
ではサポートされていませんでした。つまり、ファイルのパスワードはプレーンテキストで保存されていました。
ENTMQBR-935 -
broker.xml
を複数のファイルに分割し、broker.xml
にインポートするためのアビルティーがある。AMQ Broker は
broker.xml
設定ファイルに XML が含まれるようになり、broker.xml
を別のファイルに分割できるようになりました。たとえば、同じアドレスとアドレス設定を共有する複数のブローカーがある場合は、別のファイルでアドレスを定義し、そのファイルを各ブローカーのbroker.xml
設定ファイルに追加できます。
ENTMQBR-945 - 配信モードが非同期であるため、承認に失敗した場合に非障害のシナリオで失われた
AMQ Broker では、クライアントによる非永続メッセージが失われる際の通知を設定できるようになりました。ブローカーの停止ページやストレージプロバイダーの接続解除などの明確な障害状態により、このようなタイプの損失が発生する可能性があります。ただし、非永続メッセージのデフォルトの配信モード(非同期)は、承認の失敗や未設定キューの使用などの状況でメッセージが失われる可能性もあります。CompletionListener API を使用して、このようなメッセージロスイベントの通知を設定できるようになりました。
ENTMQBR-1056 - DB2 v11.latest のサポートを追加
AMQ Broker の 7.2 バージョンは、データベース DB2、バージョン 11 のサポートが追加されました。
ENTMQBR-1063 - DB2 互換性の向上
AMQ Broker は、メッセージストレージに対して IBM DB2 バージョン 10.5 および 11.1 をサポートするようになりました。以下の拡張機能が追加されました。
-
AUTO_INCREMENT
が DB2 でサポートされるようになりました。 - システムの時間と DB2 時間の間の最大許容時間差を設定できるようになりました。これにより、時間差が設定された値を超えた場合にブローカーが自動的にシャットダウンされるため、高可用性の信頼性が向上します。
- データベーステーブルを外部で作成できるようになりました。同時テーブル作成チェックが改善されました。
-
ENTMQBR-1271: カスタム/データディレクトリーの使用を許可する
AMQ Broker 7.2 では、ブローカーインスタンスの設定ファイルおよびデータを保存する柔軟性が向上します。以前のバージョンでは、ブローカーインスタンスの設定ファイルおよびデータは、ブローカーインスタンスのディレクトリー内の
etc/
ディレクトリーおよびdata/
ディレクトリーにのみ保存できました。これらのファイルは、ブローカーインスタンスのディレクトリー外の場所を含む、任意のカスタムディレクトリーに保存できるようになりました。
ENTMQBR-1282 - 排他的コンシューマーのサポート
AMQ Broker は排他的キューをサポートするようになりました。排他キューは、複数のコンシューマーが存在する場合でもメッセージを単一のコンシューマーにルーティングします。さらに、メッセージを受信するコンシューマーは Guaranteed メッセージの順序で受信され、メッセージが作成された順序で消費されるようにします。
ENTMQBR-1308 - さまざまなブローカーイベントをロギングするために
ActiveMQServerPlugin
を作成するAMQ Broker 7.2 より、新しい
LoggingActiveMQServerPlugin
でロギングが改善されました。このプラグインを使用すると、さまざまなタイプのイベントに関する高度なロギングを設定できます。
ENTMQBR-1367 - SSL 証明書失効リストをサポートする
AMQ Broker 7.2 以降では、アクセプターの URL に SSL 証明書失効リストを指定できるようになりました。クライアント通信に SSL を使用している場合は、スケジュールされている有効期限前に発行した認証局(CA)によって取り消された証明書の一覧を指定でき、信頼しなくなることを意味します。
ENTMQBR-1370 - XML/JMX のキューに
ユーザー
属性を追加キューが自動作成されると、接続クライアントのユーザー名が割り当てられます。このユーザー名は、キューおよび JMX および AMQ Console のメタデータとして公開されるようになりました。
broker.xml
ファイルを変更して、事前定義済みのキューにユーザーを設定することもできます。今回の機能拡張により、キューの起点、およびその作成方法について理解し、追跡できるようになりました。
ENTMQBR-1385 - 仮想トピックコンシューマーのサポートを追加
AMQ Broker は、クライアントに変更を加えずに仮想トピックサブスクリプション(ActiveMQ 5.x のみの機能)を使用する既存の OpenWire クライアントの移行をサポートするようになりました。この機能は、仮想トピックの概念を Artemis 完全修飾キュー名(FQQN)にマッピングします。FQQN を使用すると、標準の Artemis トピックサブスクライバーキューを作成およびアクセスできます。
ENTMQBR-1403 - LDAP ログインモジュールのサポート参照
AMQ Broker が LDAP 参照をサポートするようになりました。LDAP インフラストラクチャーで LDAP 参照を使用する場合、これらの参照を使用してユーザーの認証および認可を行うようにブローカーを設定できるようになりました。ブローカーの JAAS LDAP ログインモジュールを使用して、ブローカーが LDAP 参照を処理する方法を制御できます。
ENTMQBR-1783 - AMQ 7 にユーザーおよびロールマネージャー(作成/削除/更新/リスト)JMX エンドポイントを追加
AMQ Broker 7.3 は、
PropertiesLoginModule
クラスの使用時に管理 API を使用してユーザー情報の追加、削除、および更新をサポートします。以前のバージョンでは、コマンドラインインターフェースを使用してのみこれらのアクションを実行できました。
ENTMQBR-1918 - [AMQ7, critical-analyzer] タイムアウトの原因を分析する出力に追加
org.apache.activemq.artemis.utils.critical
という名前のパッケージでトレースを有効にすると、重大 Analyzer のログでパフォーマンスが低下したブローカーに関する追加情報を提供するようになりました。
ENTMQBR-1932 - Java 11 での AMQ 7 のサポート
AMQ Broker 7.4 では、JDK 11 Java 仮想マシン(JVM)のランタイムサポートを追加します。
ENTMQBR-1974 -
management.xml
でマスクされたパスワードをサポートするAMQ Broker は、
management.xml
ファイルのkey-store-password
およびtrust-store-password
の設定のマスクをサポートするようになりました。これらの値は、SSL でリモート JMX アクセスをセキュアにする場合に使用されます。
ENTMQBR-2020 - アドレスへのルーティングおよびルーティングされていないメッセージの追跡
アドレスメトリクスに、アドレスが受け取ったメッセージの数に関する情報が含まれるようになりました。この数は、ルーティングされていないメッセージとルーティングされていないメッセージ間で分割されます。今回の機能強化以前は、たとえばサブスクリプションがない JMS トピックが発生した場合など、ルーティングされていないメッセージをアドレスが受信したかどうかを判断できませんでした。
ENTMQBR-2025 - カスタムの最後の値キューキーを定義できるようにする
AMQ Broker 7.4 は、カスタムの最後の値キー名を持つ最後の値キューをサポートします。以前のバージョンでは、最後の値キューは、
_AMQ_LVQ_NAME
のデフォルトの最後の値キー名のみを使用していました。
ENTMQBR-2139 - データベースメッセージの永続性のために MSSQL をサポートする
AMQ Broker 7.4 は、JDBC ベースの永続性に対して Microsoft SQL Server 2016 をサポートします。
ENTMQBR-2173: Prometheus プラグインまたはエージェントをサポートする
AMQ Broker 7.4 には、Prometheus 用に事前設定されたプラグインが含まれています。Prometheus は、大規模でスケーラブルなシステムを監視し、長期間にわたって過去のランタイムデータを格納するために構築されたソフトウェアです。AMQ Broker Prometheus プラグインはブローカーランタイムメトリクスを Prometheus 形式にエクスポートし、Prometheus 自体を使用してデータを視覚化し、クエリーを実行することができます。
ENTMQBR-2299 - JMSXUserID なしでメッセージを拒否するオプション
AMQ Broker 7.4 以降では、
_AMQ_VALIDATED_USER
メッセージキーを使用してメッセージの起点を追跡し、ログに記録できます。メッセージの送信時に、クライアントにユーザー名がすでに入力されていないメッセージを拒否するようにブローカーを設定することもできます。
ENTMQBR-2345: databaseStoreType の改良
AMQ Broker 7.4 では、
broker.xml
設定ファイルでdatabase-store
要素を設定する際に暗号化されたユーザー名とパスワードを追加できます。