第13章 JMS ブローカーを使用したデプロイ

概要

Fuse 7.12 はデフォルトの内部ブローカーが含まれていませんが、4 つの外部 JMS ブローカーとインターフェイスするように設計されています。

Fuse 7.12 コンテナーには、サポートされる外部ブローカーのブローカークライアントライブラリーが含まれます。

Fuse 7.12 のメッセージングで使用できる外部ブローカー、クライアント、および Camel コンポーネントの組み合わせに関する詳細は、Red Hat Fuse でサポートされる設定 を参照してください。

13.1. AMQ7 クイックスタート

クイックスタートは、AMQ7 ブローカーを使用したアプリの設定とデプロイメントを紹介するために提示しています。

クイックスタートのダウンロード

すべてのクイックスタートは、FuseSoftwareDownloads ページからインストールできます。

ダウンロードした zip ファイルの内容をローカルフォルダーに展開します (例: quickstarts という名前のフォルダー)。

クイックスタートの設定

  1. quickstarts/camel/camel-jms フォルダーに移動します。
  2. mvn clean install と入力して、クイックスタートをビルドします。
  3. ファイル org.ops4j.connectionfactory-amq7.cfg/camel/camel-jms/src/main ディレクトリーから Fuse インストールの FUSE_HOME/etc ディレクトリーにコピーします。正しいブローカー URL と認証情報の内容を確認してください。デフォルトでは、ブローカー URL は AMQ 7 の CORE プロトコルに従って tcp://localhost:61616 に設定されています。認証情報は admin/admin に設定されます。外部ブローカーに合わせてこれらの詳細を変更してください。
  4. Linux では ./bin/fuse を実行し、Windows では bin\fuse.bat を実行して Fuse を起動します。
  5. 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 が提供されます。

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

クイックスタートの実行

  1. Camel ルートが実行されると、/camel/camel-jms/work/jms/input ディレクトリーが作成されます。ファイルを /camel/camel-jms/src/main/data ディレクトリーから /camel/camel-jms/work/jms/input ディレクトリーにコピーします。
  2. …​/src/main/data ファイルは順序ファイルです。1 分待ってから、/camel/camel-jms/work/jms/output ディレクトリーを確認します。ファイルは、宛先の国に応じて個別のディレクトリーに分類されます。

    • /camel/camel-jms/work/jms/output/others/order1.xmlorder2.xml および order4.xml
    • /camel/camel-jms/work/jms/output/usorder3.xml および order5.xml
    • /camel/camel-jms/work/jms/output/frorder6.xml
  3. log:display を使用してログメッセージを表示します。
Receiving order order1.xml
Sending order order1.xml to another country
Done processing order1.xml
  1. 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