AMQ Broker の使用
AMQ Broker 7.9 での使用について
概要
多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、弊社 の CTO、Chris Wright のメッセージを参照してください。
第1章 概要 リンクのコピーリンクがクリップボードにコピーされました!
AMQ Broker は、ActiveMQ Artemis をベースにした高性能なメッセージング実装です。非同期ジャーナルを使用してメッセージを高速に保存し、複数の言語、プロトコル、プラットフォームをサポートしています。
1.1. 主な特長 リンクのコピーリンクがクリップボードにコピーされました!
AMQ Broker には、以下の機能があります。
- クラスタリングおよび高可用性オプション
- 迅速でネイティブの IO 永続性
- ローカルトランザクションをサポート
- AMQ Core Protocol JMS および AMQ OpenWire JMS クライアントを使用する場合の XA トランザクションのサポート
- 幅広いプラットフォームサポート用に Java で記述されています。
- 複数の管理インターフェース: AMQ 管理コンソール、管理 API、および JMX
1.2. サポート対象の標準およびプロトコル リンクのコピーリンクがクリップボードにコピーされました!
AMQ Broker では、以下の標準およびプロトコルがサポートされます。
ワイヤプロトコル:
- コアプロトコル
- AMQP 1.0
- MQTT
- OpenWire (A-MQ 6 クライアントにより使用)
- STOMP
JMS 2.0
注記AMQP 内の分散トランザクション (XA) の詳細は、仕様の 1.0 バージョンには含まれません。お使いの環境で分散トランザクションのサポートが必要な場合は、AMQ Core Protocol JMS を使用することが推奨されます。
1.3. サポートされる構成 リンクのコピーリンクがクリップボードにコピーされました!
AMQ Broker のサポートされる構成に関する最新情報は、Red Hat Customer Portal の記事Red Hat AMQ 7 Supported Configurationsを参照してください。
1.4. 本書の表記慣例 リンクのコピーリンクがクリップボードにコピーされました!
本書では、sudo コマンド、ファイルパス、および置換可能な値について、以下の規則を使用しています。
sudo コマンド
本書では、root 権限を必要とするすべてのコマンドに対して sudo が使用されています。何らかの変更がシステム全体に影響を与える可能性があるため、sudo を使用する場合は、常に注意が必要です。
sudo の使用の詳細は、「sudo コマンド」を参照してください。
本書におけるファイルパスの使用
本書では、すべてのファイルパスは Linux、UNIX、および同様のオペレーティングシステムで有効です (例: /home/...)。Microsoft Windows を使用している場合は、同等の Microsoft Windows パスを使用する必要があります (例: C:\Users\...)。
交換可能な値
このドキュメントでは、お客様の環境に合わせた値に置き換える必要のある置換可能な値を使用している場合があります。置換可能な値は小文字で、角括弧(< >)で囲まれ、イタリック体とmonospace フォントを使用してスタイリングされています。複数の単語はアンダースコア(_)で区切られています。
たとえば、<install_dir> を独自のディレクトリー名に置き換えます。
<install_dir>/bin/artemis create mybroker
$ <install_dir>/bin/artemis create mybroker
第2章 AMQ Broker について リンクのコピーリンクがクリップボードにコピーされました!
AMQ Broker を使用すると、信頼性、トランザクション、およびその他の多くの機能を提供する間に異種システムを結合できます。AMQ Broker を使用する前に、提供できる機能を理解しておく必要があります。
2.1. ブローカーインスタンス リンクのコピーリンクがクリップボードにコピーされました!
AMQ Broker にインストールされている AMQ Broker ソフトウェアは、1 つ以上の ブローカーインスタンスに対して「home」として機能します。このアーキテクチャーには、以下のような利点があります。
単一の AMQ Broker インストールから必要な数だけブローカーインスタンスを作成できます。
AMQ Broker インストールには、各ブローカーインスタンスの実行に必要なバイナリーおよびリソースが含まれます。これらのリソースはブローカーインスタンス間で共有されます。
- 新しいバージョンの AMQ Broker にアップグレードする場合は、そのホストで複数のブローカーインスタンスを実行している場合でも、ソフトウェアを 1 度更新する必要があります。
ブローカーインスタンスをメッセージブローカーとみなすことができます。各ブローカーインスタンスには、一意の設定およびランタイムデータが含まれる独自のディレクトリーがあります。このランタイムデータはログとデータファイルで構成され、ホスト上の一意のブローカープロセスに関連付けられます。
2.2. メッセージの永続性 リンクのコピーリンクがクリップボードにコピーされました!
AMQ Broker はメッセージデータを永続化し、ブローカーに予期せずシャットダウンしてもメッセージが失われないようにします。AMQ Broker には、ジャーナルベースの永続性とデータベースの永続性の 2 つのオプションを利用できます。
ジャーナルベースの永続性
デフォルトのメソッドは、ファイルシステムに保存されているメッセージジャーナルファイルにメッセージデータを書き込みます。最初に、これらのジャーナルファイルは、固定サイズで自動的に作成され、空のデータで入力されます。クライアントはさまざまなブローカー操作を実行すると、レコードがジャーナルに追加されます。ジャーナルファイルの 1 つがいっぱいになると、ブローカーは次のジャーナルファイルに移動します。
ジャーナルベースの永続性は、ローカルトランザクションと XA トランザクションなどのトランザクション操作をサポートします。
ジャーナルベースの永続化には、ファイルシステムへの IO インターフェースが必要です。AMQ Broker は以下をサポートします。
- Linux 非同期 IO (AIO)
- 通常、AIO はベストパフォーマンスを提供します。ネットワークファイルシステムが Red Hat AMQ 7 でサポートされる構成 でサポートされている ことを確認します。
- Java NIO
- Java NIO は優れたパフォーマンスを実現し、Java 6 以降のランタイムを備えたプラットフォームで実行できます。
データベースの永続性
このオプションは、Java Database Connectivity (JDBC) を使用して、メッセージとバインディングデータをデータベースに保存します。このオプションは、お使いの環境に信頼性があり、高パフォーマンスのデータベースプラットフォームを使用している場合や、会社ポリシーでデータベースを使用した場合は、このオプションが推奨されます。
ブローカー JDBC 永続ストアは標準の JDBC ドライバーを使用して、メッセージおよびバインディングデータをデータベーステーブルに保存する JDBC コネクションを作成します。データベーステーブルのデータは、ジャーナルベースの永続化と同じエンコーディングを使用してエンコードされます。つまり、SQL を使用して直接アクセスすると、データベースに保存されたメッセージは人間が判読できません。
データベースの永続性を使用するには、サポートされるデータベースプラットフォームを使用する必要があります。現在サポートされているデータベースプラットフォームを表示するには、「Red Hat AMQ 7 でサポートされる構成」を参照してください。
2.3. リソースの消費 リンクのコピーリンクがクリップボードにコピーされました!
AMQ Broker には、ブローカーのメモリーおよびリソース消費を制限する数多くのオプションがあります。
- リソース制限
- 各ユーザーに接続およびキュー制限を設定できます。これにより、ユーザーはブローカーのリソースを過剰に消費し、他のユーザーのパフォーマンスが低下します。
- メッセージのページング
メッセージのページングにより、AMQ Broker は大量のメッセージを含む大規模なキューをサポートでき、また大量のメモリーでも稼働します。ブローカーがメモリー容量を超えるメッセージを取得したら、ディスクにメッセージをページングします。このページングプロセスは透過的であり、必要に応じてブローカーページのメッセージがメモリー内に出入りします。
メッセージのページングはアドレスベースです。アドレスのメモリーのすべてのメッセージのサイズが最大サイズを超えると、アドレスの追加メッセージがアドレスのページファイルに表示されます。
- 大きなメッセージ
- AMQ Broker では、制限されたメモリーリソースで実行される場合でも Huge Page メッセージを送受信できます。大きなメッセージをメモリーに格納するオーバーヘッドを回避するには、これらの大きなメッセージをファイルシステムまたはデータベーステーブルに保存するように AMQ Broker を設定します。
2.4. 監視および管理 リンクのコピーリンクがクリップボードにコピーされました!
AMQ Broker には、ブローカーの監視および管理に使用できるツールが複数提供されます。
- AMQ 管理コンソール
- AMQ Management Console は、Web ブラウザーからアクセスできる Web インターフェースです。ネットワークの正常性を監視し、ブローカートポロジーを表示し、ブローカーリソースの作成および削除に使用できます。
- CLI
-
AMQ Broker では、ブローカーの管理に使用できる
artemisCLI が提供されます。CLI を使用すると、ブローカーインスタンスを作成、起動、および停止できます。CLI は、メッセージジャーナルを管理する複数のコマンドも提供します。 - Management API
AMQ Broker では、豊富な管理 API が提供されます。これを使用してブローカーの設定を変更し、新規リソースの作成、これらのリソースを検査し、それらと対話できます。クライアントは管理 API を使用してブローカーを管理し、管理通知をサブスクライブすることもできます。
AMQ Broker は、管理 API を使用するために以下の方法を提供します。
- Java Management Extensions (JMX): JMX は、Java アプリケーションを管理するための標準技術です。ブローカーの管理操作は AMQ MBean インターフェース経由で公開されます。
- JMS API: 管理操作は、特別な管理 JMS キューへの標準の JMS メッセージを使用して送信されます。
- Logs
- 各ブローカーインスタンスは、エラーメッセージ、警告、およびその他のブローカー関連の情報およびアクティビティーをログに記録します。ロギングレベル、ログファイルの場所、およびログ形式を設定できます。その後、作成されるログファイルを使用してブローカーを監視し、エラー状態を診断できます。
第3章 AMQ Broker のインストール リンクのコピーリンクがクリップボードにコピーされました!
AMQ Broker はプラットフォームに依存しないアーカイブファイルとして配布されます。システムに AMQ Broker をインストールするには、アーカイブをダウンロードし、コンテンツを抽出する必要があります。また、アーカイブに含まれるディレクトリーも理解する必要があります。
前提条件
AMQ Broker をインストールするホストが AMQ Broker でサポートされる構成 を満たしている必要があります。
詳細は、「Red Hat AMQ 7 でサポートされる構成」を参照してください。
3.1. AMQ Broker アーカイブのダウンロード リンクのコピーリンクがクリップボードにコピーされました!
AMQ Broker はプラットフォームに依存しないアーカイブファイルとして配布されます。Red Hat カスタマーポータルからダウンロードできます。
前提条件
Red Hat サブスクリプションが必要です。
詳細は、「サブスクリプション の使用」を参照して ください。
手順
Web ブラウザーで https://access.redhat.com/downloads/ に移動し、ログインします。
製品のダウンロード ページが表示されます。
JBoss Integration and Automation セクションで、Red Hat AMQ Broker リンクをクリックします。
Software Downloads ページが表示されます。
- Version ドロップダウンメニューで必要な AMQ Broker バージョンを選択します。
- Releases タブで、ダウンロードする特定の AMQ Broker ファイルの Download リンクをクリックします。
3.2. Linux での AMQ Broker アーカイブの展開 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux に AMQ Broker をインストールする場合は、AMQ Broker の新しいユーザーアカウントを作成し、インストールアーカイブからコンテンツを展開します。
手順
amq-brokerという名前の新規ユーザーを作成して、パスワードを指定します。sudo useradd amq-broker sudo passwd amq-broker
$ sudo useradd amq-broker $ sudo passwd amq-brokerCopy to Clipboard Copied! Toggle word wrap Toggle overflow /opt/redhat/amq-brokerディレクトリーを作成して、新しいamq-brokerユーザーとグループの所有者として指定します。sudo mkdir /opt/redhat sudo mkdir /opt/redhat/amq-broker sudo chown -R amq-broker:amq-broker /opt/redhat/amq-broker
$ sudo mkdir /opt/redhat $ sudo mkdir /opt/redhat/amq-broker $ sudo chown -R amq-broker:amq-broker /opt/redhat/amq-brokerCopy to Clipboard Copied! Toggle word wrap Toggle overflow アーカイブの所有者を新規ユーザーに変更します。
sudo chown amq-broker:amq-broker amq-broker-7.x.x-bin.zip
$ sudo chown amq-broker:amq-broker amq-broker-7.x.x-bin.zipCopy to Clipboard Copied! Toggle word wrap Toggle overflow インストールアーカイブを、作成したディレクトリーに移動します。
sudo mv amq-broker-7.x.x-bin.zip /opt/redhat/amq-broker
$ sudo mv amq-broker-7.x.x-bin.zip /opt/redhat/amq-brokerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい
amq-brokerユーザーとして、unzipコマンドを使用してコンテンツを展開します。su - amq-broker cd /opt/redhat/amq-broker unzip <archive_name>.zip exit
$ su - amq-broker $ cd /opt/redhat/amq-broker $ unzip <archive_name>.zip $ exitCopy to Clipboard Copied! Toggle word wrap Toggle overflow amq-broker-7.9と似たディレクトリーが作成されます。本書では、この場所は<install_dir>と呼ばれます。
3.3. Windows システムでの AMQ Broker アーカイブの抽出 リンクのコピーリンクがクリップボードにコピーされました!
Windows システムに AMQ Broker をインストールする場合は、AMQ Broker の新しいディレクトリーフォルダーを作成してから、そこでコンテンツを展開します。
手順
Windows Explorer を使用して、任意のドライブ文字にディレクトリー
\redhat\amq-brokerを作成します。例:
C:\redhat\amq-broker- Windows Explorer を使用して、作成したディレクトリーにインストールアーカイブを移動します。
\redhat\amq-brokerディレクトリーで、インストールアーカイブ zip ファイルを右クリックし、Extract All を選択します。amq-broker-7.9と似たディレクトリーが作成されます。本書では、この場所は<install_dir>と呼ばれます。
3.4. AMQ Broker インストールアーカイブのコンテンツについて リンクのコピーリンクがクリップボードにコピーされました!
アーカイブを展開して作成したディレクトリーは、AMQ Broker インストールの最上位ディレクトリーになります。このディレクトリーは <install_dir> と呼ばれ、以下の内容が含まれます。
| このディレクトリー... | contains… |
|---|---|
|
| API ドキュメント |
|
| AMQ Broker の実行に必要なバイナリーおよびスクリプト。 |
|
| 設定ファイル。 |
|
| JMS および Java EE の例 |
|
| AMQ Broker の実行に必要な JAR およびライブラリー。 |
|
| AMQ Broker 設定の検証に使用される XML スキーマ。 |
|
| AMQ Broker の実行時にロードされる web コンテキスト。 |
第4章 スタンドアロンブローカーの作成 リンクのコピーリンクがクリップボードにコピーされました!
ローカルマシンでスタンドアロンブローカーインスタンスを作成し、起動してテストメッセージを生成および消費することで、AMQ Broker ですぐに起動できます。
前提条件
AMQ Broker がインストールされていること。
詳細は、3章AMQ Broker のインストール を参照してください。
4.1. ブローカーインスタンスの作成 リンクのコピーリンクがクリップボードにコピーされました!
ブローカーインスタンスは、ブローカーの設定およびランタイムデータが含まれるディレクトリーです。新規ブローカーインスタンスを作成するには、まずブローカーインスタンスのディレクトリーを作成し、artemis create コマンドを使用してブローカーインスタンスを作成します。
この手順では、ローカルマシンで簡単なスタンドアロンブローカーを作成する方法を説明します。ブローカーは基本的なデフォルト設定を使用し、サポートされるメッセージングプロトコルを使用してクライアントからの接続を受け入れます。
手順
ブローカーインスタンスのディレクトリーを作成します。
Expand 使用している場合は... 方法 Red Hat Enterprise Linux (RHEL)
ブローカーインスタンスのロケーションとして使用する新しいディレクトリーを作成します。
sudo mkdir /var/opt/amq-broker
$ sudo mkdir /var/opt/amq-brokerCopy to Clipboard Copied! Toggle word wrap Toggle overflow インストール時に作成したユーザーを割り当てます。
sudo chown -R amq-broker:amq-broker /var/opt/amq-broker
$ sudo chown -R amq-broker:amq-broker /var/opt/amq-brokerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Windows
Windows Explorer を使用して新しいフォルダーを作成し、ブローカーインスタンスの場所として機能します。
artemis createコマンドを使用してブローカーを作成します。Expand 使用している場合は... 方法 Red Hat Enterprise Linux (RHEL)
インストール時に作成したユーザーアカウントに切り替えます。
su - amq-broker
$ su - amq-brokerCopy to Clipboard Copied! Toggle word wrap Toggle overflow ブローカーインスタンス用に作成したディレクトリーに移動します。
cd /var/opt/amq-broker
$ cd /var/opt/amq-brokerCopy to Clipboard Copied! Toggle word wrap Toggle overflow ブローカーインスタンスのディレクトリーから、ブローカーインスタンスを作成します。
<install_dir>/bin/artemis create mybroker
$ <install_dir>/bin/artemis create mybrokerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Windows
- ブローカーインスタンス用に作成したディレクトリーからコマンドプロンプトを開きます。
ブローカーインスタンスのディレクトリーから、ブローカーインスタンスを作成します。
> <install_dir>\bin\artemis.cmd create mybroker
> <install_dir>\bin\artemis.cmd create mybrokerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
artemis createプロンプトに従ってブローカーインスタンスを設定します。例4.1
artemis createを使用したブローカーインスタンスの設定Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.2. ブローカーインスタンスの起動 リンクのコピーリンクがクリップボードにコピーされました!
ブローカーインスタンスの作成後に、 artemis run コマンドを使用して起動します。
手順
インストール時に作成したユーザーアカウントに切り替えます。
su - amq-broker
$ su - amq-brokerCopy to Clipboard Copied! Toggle word wrap Toggle overflow artemis runコマンドを使用してブローカーインスタンスを起動します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ブローカーが起動し、以下の情報でログ出力が表示されます。
- トランザクションログとクラスター設定の場所。
- メッセージの永続性に使用されるジャーナルのタイプ (この場合はAIO)。
クライアント接続を許可できる URI。
デフォルトでは、ポート 61616 は、サポートされる任意のプロトコル (CORE、MQTT、AMQP、STOMP、HORNETQ、および OPEN) からの接続を許可できます。各プロトコルには個別のポートも存在します。
- Web コンソールは http://localhost:8161 から入手できます。
- Jolokia サービス (JMX over REST) は http://localhost:8161/jolokia から入手できます。
4.3. テストメッセージの生成および使用 リンクのコピーリンクがクリップボードにコピーされました!
ブローカーの起動後に、これが適切に実行されていることを確認する必要があります。これには、いくつかのテストメッセージを作成し、それらをブローカーに送信し、それらを消費する必要があります。
手順
artemis producerコマンドを使用していくつかのテストメッセージを生成し、ブローカーに送信します。このコマンドは、ブローカーに自動的に作成される
helloworldアドレスにメッセージを100個送信します。プロデューサーは、サポートされるすべてのメッセージングプロトコルを許可するデフォルトのポート 61616 を使用してブローカーに接続します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Web コンソールを使用して、ブローカーに保存されているメッセージを表示します。
- Web ブラウザーで 、http://localhost:8161 に移動します。
ブローカーインスタンスの作成時に作成したデフォルトのユーザー名およびパスワードを使用して、コンソールにログインします。
Attributesタブが表示されます。Attributesタブでメニュー:[addresses > helloworld > queues > "anycast" > helloworld] に移動します。前の手順で、
helloworldアドレスにメッセージを送信しています。これにより、キュー (helloworldという名前) を持つ新しい anycasthelloworldアドレスが作成されました。Message count属性は、現在helloworldに送信された 100 個のメッセージがすべてこのキューに保存されていることを示しています。図4.1 メッセージ数
artemis consumerコマンドを使用して、ブローカーに保存されているメッセージ 50 個を消費します。このコマンドは、以前にブローカーに送信されたメッセージの 50 を消費します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Web コンソールで、
メッセージ数が 50 であることを確認します。メッセージが 50 個消費され、
helloworldキューに格納されているメッセージ数の残りは 50 個になります。ブローカーを停止し、残りのメッセージ 50 個が
helloworldキューに保存されていることを確認します。- ブローカーが稼働しているターミナルで、Ctrl+C を押してブローカーを停止します。
ブローカーを起動します。
/var/opt/amq-broker/mybroker/bin/artemis run
$ /var/opt/amq-broker/mybroker/bin/artemis runCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Web コンソールで、
helloworldキューに戻り、キューに保存されているメッセージが 50 個であることを確認します。
残りの 50 メッセージを消費します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Web コンソールで、
メッセージ数が 0 であることを確認します。helloworldキューに保存されているメッセージはすべて消費され、キューが空になりました。
4.4. ブローカーインスタンスの停止 リンクのコピーリンクがクリップボードにコピーされました!
スタンドアロンブローカーを作成し、テストメッセージを生成および消費した後、ブローカーインスタンスを停止できます。
この手順では、ブローカーを手動で停止し、クライアント接続をすべて強制的に閉じます。実稼働環境では、クライアント接続を適切に閉じるようにブローカーを正常に停止するようにブローカーを設定する必要があります。
手順
artemis stopコマンドを使用してブローカーインスタンスを停止します。/var/opt/amq-broker/mybroker/bin/artemis stop 2018-12-03 14:37:30,630 INFO [org.apache.activemq.artemis.core.server] AMQ221002: Apache ActiveMQ Artemis Message Broker version 2.6.1.amq-720004-redhat-1 [b6c244ef-f1cb-11e8-a2d7-0800271b03bd] stopped, uptime 35 minutes Server stopped!
$ /var/opt/amq-broker/mybroker/bin/artemis stop 2018-12-03 14:37:30,630 INFO [org.apache.activemq.artemis.core.server] AMQ221002: Apache ActiveMQ Artemis Message Broker version 2.6.1.amq-720004-redhat-1 [b6c244ef-f1cb-11e8-a2d7-0800271b03bd] stopped, uptime 35 minutes Server stopped!Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第5章 AMQ Broker サンプルの実行 リンクのコピーリンクがクリップボードにコピーされました!
AMQ Broker には、製品の基本的な機能と高度な機能を示すプログラムが多数含まれています。これらのサンプルを実行して、AMQ Broker の機能を理解することができます。
AMQ Broker のサンプルを実行するには、最初に Apache Maven および AMQ Maven リポジトリーをインストールおよび設定してマシンを設定する必要があります。次に、Maven を使用して AMQ Broker サンプルプログラムを実行します。
5.1. AMQ Broker の例を実行するためのマシンの設定 リンクのコピーリンクがクリップボードにコピーされました!
含まれる AMQ Broker サンプルプログラムを実行する前に、最初に Maven および AMQ Maven リポジトリーをダウンロードしてインストールし、Maven 設定ファイルを設定する必要があります。
5.1.1. Maven のダウンロードおよびインストール リンクのコピーリンクがクリップボードにコピーされました!
Maven は AMQ Broker サンプルを実行するために必要になります。
手順
- Apache Maven Download ページに移動して、お使いのオペレーティングシステムの最新ディストリビューションをダウンロードします。
オペレーティングシステムの Maven をインストールします。
詳細は『Installing Apache Maven』を参照してください。
その他のリソース
- Maven の詳細は、「 Introduction to Apache Maven 」を参照してください。
5.1.2. AMQ Maven リポジトリーのダウンロードおよびインストール リンクのコピーリンクがクリップボードにコピーされました!
Maven をマシンにインストールしたら、AMQ Maven リポジトリーをダウンロードしてインストールします。このリポジトリーは、Red Hat カスタマーポータルから入手できます。
Web ブラウザーで https://access.redhat.com/downloads/ に移動し、ログインします。
製品のダウンロード ページが表示されます。
Integration and Automation セクションで、Red Hat AMQ Broker リンクをクリックします。
Software Downloads ページが表示されます。
- Version ドロップダウンメニューで必要な AMQ Broker バージョンを選択します。
Releases タブで、AMQ Broker Maven リポジトリーの Download リンクをクリックします。
AMQ Maven リポジトリーファイルは zip ファイルとしてダウンロードされます。
マシンで、AMQ リポジトリーファイルを選択したディレクトリーに展開します。
新しいディレクトリーがマシンに作成されます。このファイルには、
maven-repository/という名前のサブディレクトリーに Maven リポジトリーが含まれます。
5.1.3. Maven 設定ファイルの設定 リンクのコピーリンクがクリップボードにコピーされました!
AMQ Maven リポジトリーのダウンロードおよびインストール後に、リポジトリーを Maven 設定ファイルに追加する必要があります。
手順
Maven の
settings.xmlファイルを開きます。settings.xmlファイルは、通常${user.home}/.m2/ディレクトリーにあります。-
Linux の場合は
~/.m2/です。 -
Windows では、これは
\Documents and Settings\.m2\または\Users\.m2\になります。
${user.home}/.m2/にsettings.xmlファイルがない場合、Maven インストールのconf/ディレクトリーにデフォルトのバージョンがあります。デフォルトのsettings.xmlファイルを${user.home}/.m2/ディレクトリーにコピーします。-
Linux の場合は
<profiles>要素に、AMQ Maven リポジトリーのプロファイルを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow <url>file:///path/to/repo/amq-broker-7.2.0-maven-repository/maven-repository</url>
<url>file:///path/to/repo/amq-broker-7.2.0-maven-repository/maven-repository</url>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <activeProfiles>要素で、AMQ Maven リポジトリーをアクティブにします。<activeProfiles> <activeProfile>jboss-amq-maven-repository</activeProfile> ... </activeProfiles>
<activeProfiles> <activeProfile>jboss-amq-maven-repository</activeProfile> ... </activeProfiles>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Maven インストールからデフォルトの
settings.xmlをコピーし、デフォルトで<active-profiles>セクションがコメントアウトされている場合はコメントを解除します。 -
settings.xmlを保存して閉じます。 キャッシュした
${user.home}/.m2/repository/ディレクトリーを削除します。Maven リポジトリーに古いアーティファクトが含まれる場合は、プロジェクトをビルドまたはデプロイしたときに以下のいずれかの Maven エラーメッセージが表示されることがあります。
-
Missing artifact <artifact-name> -
[ERROR] Failed to execute goal on project <project-name>; Could not resolve dependencies for <project-name>
-
5.2. AMQ Broker のサンプルプログラム リンクのコピーリンクがクリップボードにコピーされました!
AMQ Broker には、AMQ Broker 機能およびサポートされるメッセージングプロトコルの使用方法を示す 90 を超えるサンプルプログラムが同梱されています。
このプログラムの例は <install_dir>/examples にあり、以下が含まれます。
特長
ブローカー固有の機能 (以下を含む) 。
- クラスター化: 負荷分散および分散機能を示す例
- HA: フェイルオーバーおよび再接続機能を示す例
- perf: サーバーでいくつかのパフォーマンステストを実行できる例
- Standard: さまざまなブローカー機能を対象とするサンプル
- サブモジュール: 統合外部モジュールの例
プロトコル
サポートされるメッセージングプロトコルの例:
- AMQP
- MQTT
- OpenWire
- STOMP
その他のリソース
- 各サンプルプログラムの説明は、Apache Artemis ドキュメントの「サンプル」を参照してください。
5.3. AMQ Broker サンプルプログラムの実行 リンクのコピーリンクがクリップボードにコピーされました!
AMQ Broker には、製品の基本的な機能と高度な機能を示すプログラムが多数含まれています。Maven を使用してこれらのプログラムを実行します。
前提条件
マシンが AMQ Broker サンプルを実行するよう設定されている必要があります。
詳細は、「AMQ Broker の例を実行するためのマシンの設定」 を参照してください。
手順
実行する例のディレクトリーに移動します。
このプログラムの例は
<install_dir>/examplesにあります。以下は例になります。cd <install_dir>/examples/features/standard/queue
$ cd <install_dir>/examples/features/standard/queueCopy to Clipboard Copied! Toggle word wrap Toggle overflow mvn clean verifyコマンドを使用して、サンプルプログラムを実行します。Maven はブローカーを開始し、サンプルプログラムを実行します。サンプルプログラムの初回実行時に、Maven は不足している依存関係をダウンロードします。
この場合、
queueのサンプルプログラムが実行され、プロデューサーを作成し、テストメッセージを送信してから、メッセージを受信するコンシューマーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記一部のプログラムでは UDP クラスタリングを使用しますが、デフォルトではお使いの環境で機能しない場合があります。これらの例を正常に実行するには、224.0.0.0 にダイレクトされたトラフィックをループバックインターフェースにリダイレクトします。
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev lo
$ sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev loCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第6章 次のステップ リンクのコピーリンクがクリップボードにコピーされました!
AMQ Broker をインストールし、デフォルト設定でスタンドアロンブローカーを作成したら、メッセージング要件を満たすように設定し、メッセージングクライアントアプリケーションを接続して監視および管理できます。これらのゴールを完了するために、追加のリソースを使用できます。
- ブローカーの設定
「 Configuring AMQ Broker 」を使用して、要件を満たすようにブローカーを設定します。以下を設定できます。
- クライアント接続を受け入れるブローカー
- アドレス空間 (ポイントツーポイントおよびパブリッシュサブスクライブメッセージングを含む)
- メッセージの永続性
- ブローカーのリソース消費 (リソース制限、メッセージのページング、大きいメッセージサポートを含む)
- 重複メッセージの検出
- ロギング
- ブローカーのセキュリティー保護
AMQ Broker の設定 を使用して、以下のメソッドのいずれかを実装し、ブローカーを保護します。
- ゲスト/匿名のアクセス制御
- 基本的なユーザーとパスワードのアクセス制御
- 証明書ベースのアクセス制御
- LDAP 統合
- Kerberos の統合
- クラスタリングと高可用性の設定
- 「 Configuring AMQ Broker 」を使用して、追加のブローカーを追加してブローカークラスターを作成し、メッセージングスループットを増やします。また、メッセージングの信頼性を向上させるために高可用性を設定することもできます。
- メッセージングクライアントアプリケーションの作成
- AMQ Clients Overview を使用して、AMQ Clients を確認し、ブローカーに接続し、メッセージを生成および消費するメッセージングクライアントアプリケーションを作成できます。
- ブローカーの監視および管理
- Managing AMQ Broker を使用して、ブローカー(またはブローカー)の実行後に監視および管理します。
付録A サブスクリプションの使用 リンクのコピーリンクがクリップボードにコピーされました!
AMQ は、ソフトウェアサブスクリプションから提供されます。サブスクリプションを管理するには、Red Hat カスタマーポータルでアカウントにアクセスします。
A.1. アカウントへのアクセス リンクのコピーリンクがクリップボードにコピーされました!
手順
- access.redhat.com に移動します。
- アカウントがない場合は、作成します。
- アカウントにログインします。
A.2. サブスクリプションのアクティベート リンクのコピーリンクがクリップボードにコピーされました!
手順
- access.redhat.com に移動します。
- サブスクリプション に移動します。
- Activate a subscription に移動し、16 桁のアクティベーション番号を入力します。
A.3. リリースファイルのダウンロード リンクのコピーリンクがクリップボードにコピーされました!
.zip、.tar.gz およびその他のリリースファイルにアクセスするには、カスタマーポータルを使用してダウンロードする関連ファイルを検索します。RPM パッケージまたは Red Hat Maven リポジトリーを使用している場合は、この手順は必要ありません。
手順
- ブラウザーを開き、access.redhat.com/downloads で Red Hat カスタマーポータルの Product Downloads ページにログインします。
- JBOSS INTEGRATION AND AUTOMATION カテゴリーの Red Hat AMQ エントリーを見つけます。
- 必要な AMQ 製品を選択します。Software Downloads ページが開きます。
- コンポーネントの Download リンクをクリックします。
A.4. パッケージ用システムの登録 リンクのコピーリンクがクリップボードにコピーされました!
この製品の RPM パッケージを Red Hat Enterprise Linux にインストールするには、システムが登録されている必要があります。ダウンロードしたリリースファイルを使用している場合は、この手順は必要ありません。
手順
- access.redhat.com に移動します。
- Registration Assistant に移動します。
- ご使用の OS バージョンを選択し、次のページに進みます。
- システムの端末に一覧表示されたコマンドを使用して、登録を完了します。
システムを登録する方法は、以下のリソースを参照してください。
付録B Apache Maven の概要 リンクのコピーリンクがクリップボードにコピーされました!
Apache Maven は分散型ビルド自動化ツールで、ソフトウェアプロジェクトの作成、管理、ビルドを行う Java アプリケーション開発で使用されます。AMQ Broker インストールに含まれる AMQ Broker サンプルプログラムを実行するのに使用します。
AMQ Broker のサンプルプログラムを実行するには、複数の Maven コンポーネントと対話する必要があります。
- プロジェクトオブジェクトモデル(POM)ファイル
- プロジェクトのビルド方法に関する情報を保存します。
- リポジトリー
- ビルドのアーティファクトおよび依存関係を保持します。
- Maven 設定ファイル
- ユーザー固有の設定情報を保存します。
B.1. Maven POM ファイル リンクのコピーリンクがクリップボードにコピーされました!
Maven は Project Object Model (POM) ファイルと呼ばれる標準の設定ファイルを使用して、プロジェクトの定義や構築プロセスの管理を行います。こうすることで、プロジェクトが適切にビルドされ、統一されていることを確認します。POM ファイルは XML ファイル (pom.xml) です。
Maven は「設定に注意をする」を優先します。そのため、POM ファイルには最小限の設定およびデフォルトの他のすべての値が必要です。POM ファイルは Maven プロジェクトの以下の情報を定義できます。
- ソース、テスト、およびターゲットディレクトリーの場所
- プロジェクトの依存関係
- プラグインリポジトリー
- プロジェクトを実行できるゴール
- バージョン、説明、開発者、メーリングリスト、ライセンスなど、プロジェクトに関する補足情報。
例B.1 サンプル pom.xml ファイル
この基本的な pom.xml ファイルは、POM ファイルの最小要件を示しています。
関連情報
-
pom.xmlファイルのスキーマは http://maven.apache.org/maven-v4_0_0.xsd にあります。 - POM ファイルの詳細は『Apache Maven Project POM Reference』を参照してください。
B.2. Maven リポジトリー リンクのコピーリンクがクリップボードにコピーされました!
Maven リポジトリーには、Java ライブラリー、プラグイン、およびその他のビルドアーティファクトが格納されます。リポジトリーはローカルまたはリモートのいずれかになります。
デフォルトのパブリックリポジトリーは Maven 2 Central Repository ですが、共通のアーティファクトが開発チーム間で共有されるように、社内のプライベートおよび内部リポジトリーとすることが可能です。
また、サードパーティーのリポジトリーも利用できます。AMQ には、テスト済みのサポートされたバージョンの AMQ 7.9 Java パッケージおよび依存関係が含まれる Maven リポジトリーが含まれています。
その他のリソース
- Maven リポジトリーの詳細は、「Introduction to Repositories」を参照してください。
B.3. Maven 設定ファイル リンクのコピーリンクがクリップボードにコピーされました!
Maven の settings.xml ファイルには Maven のユーザー固有の設定情報が含まれています。開発者の ID、プロキシー情報、ローカルリポジトリーの場所、ユーザー固有のその他の設定など、pom.xml ファイルで配布されてはならない情報が含まれます。
settings.xml ファイルは以下の 2 つの場所にあります。
Maven インストールで以下を行います。
settings.xmlファイルは<maven-install-dir>/conf/ディレクトリーにあります。これらの設定はglobal設定と呼ばれます。デフォルトの Maven 設定ファイルは、ユーザー設定ファイルにコピーおよび使用できるテンプレートです。ユーザーのインストールで以下を行います。
settings.xmlファイルは${user.home}/.m2/ディレクトリーにあります。Maven とユーザーのsettings.xmlファイルが両方存在する場合、内容はマージされます。重複する内容がある場合は、ユーザーのsettings.xmlファイルが優先されます。
例B.2 Maven 設定ファイル
関連情報
-
settings.xmlファイルのスキーマは http://maven.apache.org/xsd/settings-1.0.0.xsd にあります。 - Maven 設定ファイルの詳細は、「Settings Reference」を参照してください。
改訂日時: 2022-04-03 09:56:39 +1000