第3章 Fuse on JBoss EAP の使用
本章では、Fuse on JBoss EAP を紹介し、JBoss EAP コンテナーで初めて Fuse アプリケーションをインストール、開発、およびビルドする方法を説明します。
以下を参照してください。
3.1. Fuse on JBoss EAP
Eclipse Foundation の Jakarta EE の技術 (旧名称 Java EE) をベースとした JBoss Enterprise Application Platform (EAP) は、当初はエンタープライズアプリケーション開発のユースケースに対応するために作成されました。JBoss EAP は、サービスおよび標準化された Java API (永続性、メッセージング、セキュリティーなど) を実装する明確に定義されたパターンを特徴としています。近年ではディペンデンシーインジェクション (依存性の注入) の CDI の導入や、エンタープライズ Java Bean の簡素化されたアノテーションの導入により、この技術はより軽量化されました。
このコンテナー技術の特徴は次のとおりです。
- 特にスタンドアロンモードでの実行に適しています。
- 事前設定された多くの標準サービス (永続性、メッセージング、セキュリティーなど) をそのまま使用できます。
- 通常、アプリケーション WAR は小型および軽量です (多くの依存関係はコンテナーに事前インストールされているため)。
- 標準化された後方互換性のある Java API。
3.2. Fuse on JBoss EAP のインストール
Red Hat カスタマーポータルから Fuse 7.4 on JBoss EAP の標準インストールパッケージをダウンロードできます。このパッケージは JBoss EAP コンテナーの標準アセンブリーをインストールし、完全な Fuse テクノロジースタックを提供します。
前提条件
- Red Hat カスタマーポータル のフルサブスクリプションアカウントが必要になります。
- カスタマーポータルにログインする必要があります。
- JBoss EAP および JBoss EAP 7.2 Update 01 がダウンロードされている必要があります。
- Fuse on JBoss EAP がダウンロードされている必要があります。
- CodeReady Studio インストーラー がダウンロードされている必要があります。
手順
次のように、シェルプロンプトから JBoss EAP インストーラーを実行します。
java -jar DOWNLOAD_LOCATION/jboss-eap-7.2.0-installer.jar
インストール中、以下を行います。
- 契約条件に同意します。
-
JBoss EAP ランタイムのインストールパス
EAP_INSTALL
を選択します。 - 管理ユーザーを作成し、後で必要になる管理ユーザーのクレデンシャル情報を注意して書き留めておきます。
- 残りの画面では、デフォルト設定を使用できます。
-
シェルプロンプトを開き、
EAP_INSTALL
ディレクトリーに移動します。 EAP_INSTALL
ディレクトリーから JBoss EAP 7.2 Update 01 を適用します。以下に例を示します。bin/jboss-cli.sh "patch apply jboss-eap-7.2.1-patch.zip"
EAP_INSTALL
ディレクトリーから、以下のように Fuse on EAP のインストーラーを実行します。java -jar DOWNLOAD_LOCATION/fuse-eap-installer-7.4.0.jar
以下のように、CodeReady Studio インストーラーを実行します。
java -jar DOWNLOAD_LOCATION/codereadystudio-12.12.0.GA-installer-standalone.jar
インストール中、以下を行います。
- 契約条件に同意します。
- インストールパスを選択します。
- Java 8 JVM を選択します。
-
Select Platforms and Servers ステップで、Add をクリックして
EAP_INSTALL
ディレクトリーの場所を確認し、JBoss EAP ランタイムを設定します。 - Select Additional Features to Install で Red Hat Fuse Tooling を選択します。
- CodeReady Studio が起動します。Searching for runtimes ダイアログが表示されたら OK をクリックして JBoss EAP ランタイムを作成します。
(任意手順): コマンドラインから Apache Maven を使用するには、Maven をインストールおよび設定する必要があります。
注記CodeReady Studio のみを使用する場合、CodeReady Studio にはMaven が事前インストールおよび設定されているため、厳密的には Maven をインストールする必要はありません。しかし、コマンドラインから Maven を呼び出す場合は、インストールを行う必要があります。
3.3. JBoss EAP で最初の Fuse アプリケーションをビルド
次の手順は、JBoss EAP で初めて Fuse アプリケーションをビルドする場合に便利です。
前提条件
- Red Hat カスタマーポータル のフルサブスクリプションアカウントが必要になります。
- カスタマーポータルにログインする必要があります。
- CodeReady Studio インストーラー がダウンロードされている必要があります。
- ダウンロードした Fuse on JBoss EAP が正常にインストールされている必要があります。
手順
CodeReady Studio で以下のように新しいプロジェクトを作成します。
- File→New→Fuse Integration Project と選択します。
-
Project Name フィールドに
eap-camel
を入力します。 - Next をクリックします。
Select a Target Environment ペインで以下の設定を選択します。
- Standalone をデプロイメントプラットフォームとして選択します。
-
Wildfly/Fuse on EAP をランタイム環境として選択し、Runtime (optional) ドロップダウンメニューを使用して
JBoss EAP 7.x Runtime
サーバーをターゲットランタイムとして選択します。
- ターゲットランタイムの選択後、Camel Version が自動的に選択され、フィールドがグレーアウトされます。
- Next をクリックします。
- Advanced Project Setup ペーンで Spring Bean - Spring DSL テンプレートを選択します。
Finish をクリックします。
重要CodeReady Studio で初めて Fuse プロジェクトをビルドする場合、ウィザードがプロジェクトの生成を完了するまで 数分 かかることがあります。これは、リモート Maven リポジトリーから依存関係をダウンロードするためです。プロジェクトがバックグラウンドでビルドされている間は、ウィザードを中断したり、CodeReady Studio を閉じたりしないでください。
- 関連する Fuse Integration パースペクティブを開くように要求された場合は、Yes をクリックします。
- CodeReady Studio が必要なアーティファクトをダウンロードし、バックグラウンドでプロジェクトをビルドする間待機します。
以下のように、プロジェクトをサーバーにデプロイします。
-
サーバーが起動していない場合は、Servers ビュー (Fuse Integration パースペクティブの左下隅) で
Red Hat JBoss EAP 7.2 Runtime
サーバーを選択し、緑色の矢印をクリックして起動します。 Console ビューに以下のようなメッセージが表示されるまで待機します。
14:47:07,283 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: JBoss EAP 7.2.0.GA (WildFly Core 6.0.11.Final-redhat-00001) started in 13948ms - Started 495 of 680 services (326 services are lazy, passive or on-demand)
- サーバーが起動した後、Servers ビューに切り替え、サーバーを右クリックしてコンテキストメニューで Add and Remove を選択します。
-
Add and Remove ダイアログで
eap-camel
プロジェクトを選択し、Add > をクリックします。 - Finish をクリックします。
-
サーバーが起動していない場合は、Servers ビュー (Fuse Integration パースペクティブの左下隅) で
以下のように、プロジェクトが動作していることを確認します。
-
URL http://localhost:8080/camel-test-spring?name=Kermit に移動し、
eap-camel
プロジェクトで実行されているサービスにアクセスします。 -
ブラウザーウインドウには、
Hello Kermit
が応答として表示されるはずです。
-
URL http://localhost:8080/camel-test-spring?name=Kermit に移動し、
以下のようにプロジェクトをアンデプロイします。
-
Servers ビューで
Red Hat JBoss EAP 7.2 Runtime
サーバーを選択します。 - サーバーを右クリックし、コンテキストメニューで Add and Remove を選択します。
-
Add and Remove ダイアログで
eap-camel
プロジェクトを選択し、< Remove をクリックします。 - Finish をクリックします。
-
Servers ビューで