第2章 Karaf (OSGi) でのトランザクションの使用開始
ここでは、トランザクションを使用して Artemis JMS ブローカーにアクセスする Camel アプリケーションについて説明します。本書では、以下の内容を取り上げます。
2.1. 前提条件
この Camel アプリケーションの実装には、以下の前提条件があります。
外部の AMQ 7 JMS メッセージブローカーが稼働している必要があります。
以下のサンプルコードは、スタンドアロン (Docker 以外) バージョンの
amq-broker-7.1.0-bin.zip
を実行します。実行によりamq7
インスタンスが作成され、実行されます。$ pwd /data/servers/amq-broker-7.1.0 $ bin/artemis create --user admin --password admin --require-login amq7 Creating ActiveMQ Artemis instance at: /data/servers/amq-broker-7.1.0/amq7 Auto tuning journal ... done! Your system can make 27.78 writes per millisecond, your journal-buffer-timeout will be 36000 You can now start the broker by executing: "/data/servers/amq-broker-7.1.0/amq7/bin/artemis" run Or you can run the broker in the background using: "/data/servers/amq-broker-7.1.0/amq7/bin/artemis-service" start $ amq7/bin/artemis run __ __ ____ ____ _ /\ | \/ |/ __ \ | _ \ | | / \ | \ / | | | | | |_) |_ __ ___ | | _____ _ __ / /\ \ | |\/| | | | | | _ <| '__/ _ \| |/ / _ \ '__| / ____ \| | | | |__| | | |_) | | | (_) | < __/ | /_/ \_\_| |_|\___\_\ |____/|_| \___/|_|\_\___|_| Red Hat JBoss AMQ 7.1.0.GA 018-05-02 16:37:19,294 INFO [org.apache.activemq.artemis.integration.bootstrap] AMQ101000: Starting ActiveMQ Artemis Server ...
クライアントライブラリーが必要です。Artemis ライブラリーは Maven Central または Red Hat リポジトリーで利用できます。たとえば、以下を行うことができます。
-
mvn:org.apache.activemq/artemis-core-client/2.4.0.amq-710008-redhat-1
-
mvn:org.apache.activemq/artemis-jms-client/2.4.0.amq-710008-redhat-1
または、Artemis/AMQ 7 クライアントライブラリーを Karaf 機能としてインストールできます。以下に例を示します。
-
karaf@root()> feature:install artemis-jms-client artemis-core-client
-
Karaf シェルコマンドまたは専用の Artemis サポートを提供するサポート機能の一部が必要です。
karaf@root()> feature:install jms pax-jms-artemis pax-jms-config
必要な Camel 機能は次のとおりです。
karaf@root()> feature:install camel-jms camel-blueprint