第13章 JMS ブローカーを使用したデプロイ
概要
Fuse 7.13 にはデフォルトの内部ブローカーが含まれていませんが、4 つの外部 JMS ブローカーとインターフェイスするように設計されています。
Fuse 7.13 コンテナーには、サポートされる外部ブローカーのブローカークライアントライブラリーが含まれます。
Fuse 7.13 のメッセージングで使用できる外部ブローカー、クライアント、および Camel コンポーネントの組み合わせに関する詳細は、Red Hat Fuse でサポートされる構成 を参照してください。
13.1. AMQ7 クイックスタート
クイックスタートは、AMQ7 ブローカーを使用したアプリの設定とデプロイメントを紹介するために提示しています。
クイックスタートのダウンロード
すべてのクイックスタートは、Fuse Software Downloads ページからインストールできます。
ダウンロードした zip ファイルの内容をローカルフォルダーにデプロイメントします (例: quickstarts
という名前のフォルダー)。
クイックスタートのセットアップ
-
quickstarts/camel/camel-jms
フォルダーに移動します。 -
mvn clean install
と入力して、クイックスタートをビルドします。 -
ファイル
org.ops4j.connectionfactory-amq7.cfg
を/camel/camel-jms/src/main
ディレクトリーから Fuse インストールのFUSE_HOME/etc
ディレクトリーにコピーします。正しいブローカー URL と認証情報の内容を確認してください。デフォルトでは、ブローカー URL は AMQ 7 の CORE プロトコルに従って tcp://localhost:61616 に設定されています。認証情報は admin/admin に設定されます。外部ブローカーに合わせてこれらの詳細を変更してください。 -
Linux では
./bin/fuse
を実行し、Windows ではbin\fuse.bat
を実行して Fuse を起動します。 Fuse コンソールで、次のコマンドを入力します。
feature:install pax-jms-pool artemis-jms-client camel-blueprint camel-jms install -s mvn:org.jboss.fuse.quickstarts/camel-jms/${project.version}
バンドルがデプロイされると、Fuse によりバンドル ID が提供されます。
-
log:display
を入力して、起動ログ情報を表示します。バンドルが正常にデプロイされたことを確認してください。
12:13:50.445 INFO [Blueprint Event Dispatcher: 1] Attempting to start Camel Context jms-example-context 12:13:50.446 INFO [Blueprint Event Dispatcher: 1] Apache Camel 2.21.0.fuse-000030 (CamelContext: jms-example-context) is starting 12:13:50.446 INFO [Blueprint Event Dispatcher: 1] JMX is enabled 12:13:50.528 INFO [Blueprint Event Dispatcher: 1] StreamCaching is not in use. If using streams then its recommended to enable stream caching. See more details at http://camel.apache.org/stream-caching.html 12:13:50.553 INFO [Blueprint Event Dispatcher: 1] Route: file-to-jms-route started and consuming from: file://work/jms/input 12:13:50.555 INFO [Blueprint Event Dispatcher: 1] Route: jms-cbr-route started and consuming from: jms://queue:incomingOrders?transacted=true 12:13:50.556 INFO [Blueprint Event Dispatcher: 1] Total 2 routes, of which 2 are started
クイックスタートの実行
-
Camel ルートが実行されると、
/camel/camel-jms/work/jms/input
ディレクトリーが作成されます。ファイルを/camel/camel-jms/src/main/data
ディレクトリーから/camel/camel-jms/work/jms/input
ディレクトリーにコピーします。 .../src/main/data
ファイルにコピーされたファイルは注文ファイルです。1 分待ってから、/camel/camel-jms/work/jms/output
ディレクトリーを確認します。ファイルは、宛先の国に応じて個別のディレクトリーに分類されます。-
/camel/camel-jms/work/jms/output/others/
のorder1.xml
、order2.xml
およびorder4.xml
-
/camel/camel-jms/work/jms/output/us
のorder3.xml
およびorder5.xml
-
/camel/camel-jms/work/jms/output/fr
のorder6.xml
-
-
log:display
を使用してログメッセージを表示します。
Receiving order order1.xml Sending order order1.xml to another country Done processing order1.xml
- Camel コマンドは、コンテキストに関する詳細を表示します。
camel:context-list
を使用して、コンテキストの詳細を表示します。
Context Status Total # Failed # Inflight # Uptime ------- ------ ------- -------- ---------- ------ jms-example-context Started 12 0 0 3 minutes
camel:route-list
を使用して、コンテキストの Camel ルートを表示します。
Context Route Status Total # Failed # Inflight # Uptime ------- ----- ------ ------- -------- ---------- ------ jms-example-context file-to-jms-route Started 6 0 0 3 minutes jms-example-context jms-cbr-route Started 6 0 0 3 minutes
camel:route-info
を使用してエクスチェンジの統計を表示します。
karaf@root()> camel:route-info jms-cbr-route jms-example-context Camel Route jms-cbr-route Camel Context: jms-example-context State: Started State: Started Statistics Exchanges Total: 6 Exchanges Completed: 6 Exchanges Failed: 0 Exchanges Inflight: 0 Min Processing Time: 2 ms Max Processing Time: 12 ms Mean Processing Time: 4 ms Total Processing Time: 29 ms Last Processing Time: 4 ms Delta Processing Time: 1 ms Start Statistics Date: 2018-01-30 12:13:50 Reset Statistics Date: 2018-01-30 12:13:50 First Exchange Date: 2018-01-30 12:19:47 Last Exchange Date: 2018-01-30 12:19:47