第8章 Camel アプリケーションの A-MQ ブローカーとの統合
このチュートリアルでは、A-MQ イメージを使用してクイックスタートをデプロイする方法を説明します。
8.1. Spring Boot Camel A-MQ クイックスタートのビルドおよびデプロイ リンクのコピーリンクがクリップボードにコピーされました!
この例では、JBoss A-MQ 6 イメージとデプロイメントテンプレートが必要になります。CDK 3.1.1 以降 を使用する場合、JBoss AM-Q 6 イメージおよびテンプレートはすでにデフォルトで openshift
namespace にインストールされているはずです。
前提条件
- OpenShift が適切に稼働し、Fuse イメージストリームがすでに OpenShift にインストールされている。管理者向けの基本情報 を参照してください。
- Maven リポジトリーが Fuse に対して設定されているようにしてください。詳細は Maven リポジトリーの設定 を参照してください。
手順
クイックスタートをビルドおよびデプロイするために準備します。
OpenShift に開発者としてログインします。
oc login -u developer -p developer
oc login -u developer -p developer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいプロジェクト amq-quickstart を作成します。
oc new-project amq-quickstart
oc new-project amq-quickstart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow インストールした AーMQ 6 イメージおよびテンプレートのバージョンを確認します。
oc get template -n openshift
$ oc get template -n openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow amqXX-basic
という名前のテンプレートが見つかるはずです。XX
は Openshift にインストールされている A-MQ のバージョンです。
A-MQ 6 イメージを
amq-quickstart
名前空間にデプロイします (XX を
前の手順で見つかった A-MQ の実際のバージョンに置き換えます)。oc process openshift//amqXX-basic -p APPLICATION_NAME=broker -p MQ_USERNAME=admin -p MQ_PASSWORD=admin -p MQ_QUEUES=test -p MQ_PROTOCOL=amqp -n amq-quickstart | oc create -f -
$ oc process openshift//amqXX-basic -p APPLICATION_NAME=broker -p MQ_USERNAME=admin -p MQ_PASSWORD=admin -p MQ_QUEUES=test -p MQ_PROTOCOL=amqp -n amq-quickstart | oc create -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記古いバージョンの
oc
を使用すると、oc
コマンドが失敗することがあります。この構文は、oc
のバージョン 3.5.x (Kubernetes 1.5.x がベース) で動作します。メッシュエンドポイントの検出に必要なユーザーロールを追加します (Kubernetes REST API 経由)。
oc policy add-role-to-user view system:serviceaccount:amq-quickstart:default
$ oc policy add-role-to-user view system:serviceaccount:amq-quickstart:default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Maven ワークフローを使用して、クイックスタートプロジェクトを作成します。
mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate \ -DarchetypeCatalog=https://maven.repository.redhat.com/ga/io/fabric8/archetypes/archetypes-catalog/2.2.0.fuse-740017-redhat-00003/archetypes-catalog-2.2.0.fuse-740017-redhat-00003-archetype-catalog.xml \ -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \ -DarchetypeArtifactId=spring-boot-camel-amq-archetype \ -DarchetypeVersion=2.2.0.fuse-740017-redhat-00003
$ mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate \ -DarchetypeCatalog=https://maven.repository.redhat.com/ga/io/fabric8/archetypes/archetypes-catalog/2.2.0.fuse-740017-redhat-00003/archetypes-catalog-2.2.0.fuse-740017-redhat-00003-archetype-catalog.xml \ -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \ -DarchetypeArtifactId=spring-boot-camel-amq-archetype \ -DarchetypeVersion=2.2.0.fuse-740017-redhat-00003
Copy to Clipboard Copied! Toggle word wrap Toggle overflow archetype プラグインが対話モードに切り替わり、残りのフィールドの入力を要求されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロンプトが表示されたら、
groupId
値にorg.example.fis
を入力し、artifactId
値にfuse74-Spring-boot-camel-amq を
入力します。残りのフィールドにはデフォルト値を使用します。クイックスタートディレクトリー
fuse74-Spring-boot-camel-amq
に移動します。cd fuse74-spring-boot-camel-amq
$ cd fuse74-spring-boot-camel-amq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ACTIVEMQ_BROKER_USERNAME
およびACTIVEMQ_BROKER_PASSWORD
環境変数を設定して、ブローカーにログオンするためのクライアントクレデンシャルをカスタマイズします。fuse74-Spring-boot-camel-amq
プロジェクトで、src/main/fabric8/deployment.yml
ファイルを次のように編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow mvn
コマンドを実行し、クイックスタートを OpenShift サーバーにデプロイします。mvn fabric8:deploy -Popenshift
mvn fabric8:deploy -Popenshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クイックスタートが正常に実行されていることを確認するには、以下を行います。
- OpenShift コンソールに移動します。
- プロジェクト amq-quickstart を選択します。
- Applications をクリックします。
- Pods を選択します。
- fis-spring-boot-camel-am-1-xxxxx をクリックします。
Logs をクリックします。
出力にはメッセージが正常に送信されたことが表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Web インターフェイスでルートを表示するには、Open Java Console をクリックし、A-MQ キューのメッセージをチェックします。