第3章 Apache Karaf の使用
3.1. カスタマーポータルへのログイン
必要なパッケージをダウンロードする前に、Red Hat Fuse サブスクリプションを持つ Red Hat カスタマーポータのアカウントが必要になります。このアカウントを使用して、https://access.redhat.com/login のポータルにログインします。
3.2. 必要なパッケージのダウンロード
各 Download ボタンをクリックして、カスタマーポータルから必要なパッケージを取得します。
3.3. Fuse on Apache Karaf のインストールおよび設定
Fuse on Apache Karaf をインストールおよび設定するには、以下のステップを実行します。
-
ダウンロードした Fuse on Apache Karaf の
.zip
アーカイブファイルを、ファイルシステムFUSE_INSTALL
の任意の場所に展開します。 Fuse ランタイムに管理ユーザーを追加します。
-
テキストエディターで
FUSE_INSTALL/etc/users.properties
ファイルを開きます。 -
#admin = admin
で始まる行の最初の#
文字を削除します。 -
#g\:admingroup
で始まる行の最初の#
文字を削除します。 ユーザーエントリーのユーザー名
USERNAME
とパスワードPASSWORD
をカスタマイズし、以下のようなユーザーエントリーおよび管理グループエントリーにします (連続した行)。USERNAME = PASSWORD,_g_:admingroup _g_\:admingroup = group,admin,manager,viewer,systembundles,ssh
-
etc/users.properties
ファイルを保存します。
-
テキストエディターで
3.4. 開発環境の設定
開発環境を設定するには、以下の手順を実行します。
以下のように、CodeReady Studio インストーラーを実行します。
java -jar DOWNLOAD_LOCATION/devstudio-12.11.0.GA-installer-standalone.jar
インストール中、以下を行います。
- 契約条件に同意します。
- インストールパスを選択します。
- Java 8 JVM を選択します。
-
Select Platforms and Servers で、Add をクリックして
FUSE_INSTALL
ディレクトリーの場所を確認し、Fuse on Karaf ランタイムを設定します (詳細は 「Fuse on Apache Karaf のインストールおよび設定」 を参照してください)。 - Select Additional Features to Install で Red Hat Fuse Tooling を選択します。
- CodeReady Studio が起動します。Searching for runtimes ダイアログが表示されたら OK をクリックして Fuse on Karaf ランタイムを作成します。
(任意手順): コマンドラインから Apache Maven を使用するには、付録A Maven を使用する準備 の説明どおりに Maven をインストールおよび設定する必要があります。
注記CodeReady Studio のみを使用する場合、CodeReady Studio にはMaven が事前インストールおよび設定されているため、Maven をインストールする必要は厳密的にはありません。しかし、コマンドラインから Maven を呼び出す場合は、インストールを行う必要があります。
3.5. 最初のアプリケーションのビルド
以下の手順を実行して、Fuse on Karaf で最初のアプリケーションをビルドします。
CodeReady Studio で以下のように新しいプロジェクトを作成します。
- File→New→Fuse Integration Project と選択します。
-
fuse-camel-cbr
フィールドに eap-camel を入力します。 - Next をクリックします。
Select a Target Environment ペインで以下の設定を選択します。
- Standalone をデプロイメントプラットフォームとして選択します。
-
Karaf/Fuse on Karaf をランタイム環境として選択し、Runtime (optional) ドロップダウンメニューを使用して
Red Had JBoss Middleware> Red Hat Fuse 7+ Runtime
サーバーをターゲットランタイムとして選択します。
- ターゲットランタイムの選択後、Camel Version が自動的に選択され、フィールドがグレーアウトされます。
- Next をクリックします。
- Advanced Project Setup ペーンで Beginner→Content Based Router - Blueprint DSL テンプレートを選択します。
- Finish をクリックします。
- 関連する Fuse Integration パースペクティブを開くように要求された場合は、Yes をクリックします。
CodeReady Studio が必要なアーティファクトをダウンロードし、バックグラウンドでプロジェクトをビルドする間待機します。
重要CodeReady Studio で初めて Fuse プロジェクトをビルドする場合、リモート Maven リポジトリーから依存関係をダウンロードするため、ウィザードがプロジェクトの生成を完了するまで 数分かかることがあります。プロジェクトがバックグラウンドでビルドされている間は、ウィザードを中断したり、CodeReady Studio を閉じたりしないようにしてください。
以下のように、プロジェクトをサーバーにデプロイします。
サーバーが起動していない場合は、Servers ビュー (Fuse Integration パースペクティブの左下隅) で
fuse-karaf-7.3.0.fuse-730079-redhat-00001 Runtime Server
サーバーを選択し、緑色の矢印をクリックして起動します。注記Warning: The authenticity of host 'localhost' can’t be established. というダイアログが表示されたら、Yes をクリックしてサーバーに接続し、Karaf コンソールにアクセスします。
Console ビューに以下のようなメッセージが表示されるまで待機します。
Karaf started in 1s. Bundle stats: 12 active, 12 total
- サーバーが起動した後、Servers ビューに切り替え、サーバーを右クリックしてコンテキストメニューで Add and Remove を選択します。
-
Add and Remove ダイアログで
fuse-camel-cbr
プロジェクトを選択し、Add > ボタンをクリックします。 - Finish をクリックします。
Terminal ビューに移動し、
bundle:list | tail
を入力して、プロジェクトの OSGi バンドルが起動したかどうかをチェックします。以下のような出力が表示されるはずです。... 228 │ Active │ 80 │ 1.0.0.201505202023 │ org.osgi:org.osgi.service.j 232 │ Active │ 80 │ 1.0.0.SNAPSHOT │ Fuse CBR Quickstart
3.5.1. プロジェクトの検証
Camel ルートが起動すると、すぐに fuse-camel-cbr
プロジェクトにディレクトリー work/cbr/input
が作成されます。
これで、Camel ルートをテストしてその動作を確認できるようになります。
-
Project Explorer ビューで Refresh をクリックし、新たに作成された
work/cbr/input
ディレクトリーを表示します。 -
プロジェクトの
src/main/data
ディレクトリーにあるファイルをwork/cbr/input
ディレクトリーにコピーします。 -
しばらく待ってから再度 Project Explorer ビューを更新し、国別に分類された同じファイルが
work/cbr/output
ディレクトリーにあることを確認します。 -
work/cbr/output/others
のorder1.xml
-
work/cbr/output/uk
のorder2.xml
およびorder4.xml
-
work/cbr/output/us
のorder3.xml
およびorder5.xml
3.5.2. プロジェクトのアンデプロイ
以下のようにプロジェクトをアンデプロイします。
-
Servers ビューで
Red Hat Fuse 7+ Runtime Server
サーバーを選択します。 - サーバーを右クリックし、コンテキストメニューで Add and Remove を選択します。
-
Add and Remove ダイアログで
fuse-camel-cbr
プロジェクトを選択し、< Remove ボタンをクリックします。 - Finish をクリックします。