第1章 新しい Fuse Integration プロジェクトの作成
概要
新しい Fuse Integration プロジェクトの作成には、次の主な手順が含まれます。
ツールは、プロジェクトを設定した後、必要なすべての Maven 依存関係をダウンロードし、プロジェクトの実行と公開に必要な POM ファイルを作成します。
CodeReady Studio で初めて Fuse プロジェクトをビルドする場合、リモート Maven リポジトリーから依存関係をダウンロードするため、ウィザードがプロジェクトの生成を完了するまで数分かかることがあります。
作業を開始する前に
新しい Fuse Integration プロジェクトを作成する前に、次の情報が必要です。
- ターゲットランタイム環境: OpenShift 上の Fuse またはスタンドアロンの Fuse (Spring Boot、Karaf 上の Fuse、または EAP 上の Fuse)
- Camel バージョン (ツールでデフォルト以外が使用される場合)
プロジェクト名とワークスペースの指定
新しい Fuse Integration プロジェクトを作成するには、次の手順を実行します。
New
Project Red Hat Fuse Fuse Integration Project を選択して、New Fuse Integration Project ウィザードを開きます。 ウィザードが開き、Location ペインの Use default workspace location オプションが選択されています。
-
Project Name に、新規プロジェクトの名前を入力します (例:
MySampleProject
)。 プロジェクトのデータを保存するワークスペースの場所を指定します。
- デフォルトのワークスペースを使用するには、Use default workspace location オプションを有効のままにします。
別の場所を使用するには、Use default workspace location オプションをオフにし、Path フィールドで場所を指定します。
をクリックし、簡単に別のワークスペースを検索して選択します。
- Next をクリックして Select a Target Environment ページを開きます。
プロジェクトデプロイメント環境の設定
新規プロジェクトを作成する際に、プロジェクトのターゲットデプロイメント環境を指定して、プロジェクトが実行時に必要なリソースを確保します。デプロイメントプラットフォームと Camel バージョンを選択する必要があります。オプションで、ランタイム設定を指定できます。
Select a Target Environment ページを開いた状態で、次の操作を行います。
プロジェクトを、Kubernetes/OpenShift と Standalone のどちらのプラットフォーム上にデプロイするか選択します。
デプロイメントプラットフォームに Kubernetes/OpenShift を選択すると、Sprint Boot ランタイムが自動的に選択されます。その場合、ステップ 3 に進みます。
デプロイメントプラットフォームに Standalone を選択した場合、以下を実行します。
ターゲットランタイム環境を選択します。
- Spring Boot
- Karaf/Karaf 上の Fuse
- Wildfly/EAP 上の Fuse
Karaf および EAP スタンドアロンランタイム環境の場合、ランタイム設定として次のいずれかのオプションを選択します。
- None selected オプションを選択します (後でランタイム設定を定義できます)。
- ドロップダウンメニューから既存のランタイム設定を選択します。
- 「新しいターゲットランタイムの作成 (オプション)」 の説明に従って、新規ランタイム設定を作成します。
Select the Camel version for your new project ペインで、ランタイムに関連付けられているデフォルトの Camel バージョンを選択するか、次の方法でデフォルトを変更します。
- ドロップダウンリストから Camel バージョンを選択します。Fuse Tooling は、リストされている製品化バージョンをサポートしています。
製品化されていない (サポートされていない) バージョンを試す場合は、別の Camel バージョンを入力します。
Verify ボタンをクリックすると、ツールが指定したバージョンにアクセスできるか確認できます。そうでない場合は、次の例のような通知が Select a Target Runtime ページのヘッダーに表示されます。
注記プロジェクトを作成、設定、および保存した後、Camel のバージョンを変更できます。11章Camel バージョンの変更を参照してください。
- 新しい Fuse Integration プロジェクトのベースとなるランタイム環境と Camel バージョンを選択したら、Next をクリックしてウィザードの Advanced Project Setup ページを開き、「プロジェクトテンプレートの選択」 の手順に従います。
新しいターゲットランタイムの作成 (オプション)
Karaf および EAP スタンドアロンランタイム環境の場合、オプションで、New Fuse Integration Project ウィザードから新しいランタイム設定を作成できます。
ウィザードの Select a Target Runtime ページで、New をクリックして New server runtime environment ページを開きます。
Red Hat JBoss Middleware
フォルダーを展開し、Red Hat Fuse のランタイム環境を選択します。Create a new local server オプションをオフのままにします。プロジェクトを公開する準備ができたら、後でローカルサーバーを作成できます (「サーバーの追加」 を参照)。
注記Create a new local server オプションをオンにすると、New Fuse Integration Project ウィザードに Fuse サーバーランタイムを定義および設定するための追加手順の説明が表示されます (「サーバーの追加」 の説明を参照)。次に、プロジェクトをビルドするときに、Fuse Integration パースペクティブの Servers ビューにもサーバーランタイムが追加されます。
Next をクリックして、サーバーの New Server Runtime Environment ページを開きます。
サーバーランタイムの Name、Home Directory、Execution Environment を指定します。
- Name — デフォルトを使用するか、ランタイム環境の新しい名前を入力します。
Home Directory — Browse ボタンをクリックして、サーバーランタイムのインストールディレクトリーを見つけて選択します。
注記サーバーがマシンにインストールされていない場合は、ここで Download and install runtime リンクをクリックし、サイトのダウンロード手順に従ってサーバーをインストールできます。サイトによっては、ダウンロードプロセスを続行する前に、有効なクレデンシャルの提供が必要なこともあります。
Runtime JRE: Execution Environment — デフォルトを使用するか、ドロップダウンリストから別の JavaSE バージョンを選択します。
目的のバージョンがリストに表示されない場合は、Environments ボタンをクリックして、そのリストからバージョンを選択します。選択した JRE バージョンがマシンにインストールされている必要があります。
注記Fuse 7.x には JRE バージョン 1.8 が必要です。
- Runtime JRE: Alternate JRE - プロジェクトで異なるバージョンの Java が必要な場合は、このオプションを使用できます。
Finish をクリックして、New Fuse Integration Project ウィザードの Select a Target Runtme ページに戻ります。
新しく設定されたターゲットランタイムが Target Runtime ペインのドロップダウンメニューに表示され、ランタイムでサポートされている Camel バージョンが Camel Version ペインにグレー表示されます。
Fuse Integration プロジェクトを作成した後は、Camel のバージョンを変更できます。11章Camel バージョンの変更を参照してください。
- Next をクリックして、「プロジェクトテンプレートの選択」 で説明されているようにプロジェクトのテンプレートを指定します。
プロジェクトテンプレートの選択
Advanced Project Setup ページには、新しいプロジェクトの開始点として使用できるテンプレートのリストが表示されます。テンプレートは一般的なユースケースに基づいており、サンプルコードとデータが提供されているため、すぐに使い始めることができます。使用可能なテンプレートのリストは、前のページで選択したランタイム環境によって異なります。テンプレートを選択すると、右側のペインにその説明が表示されます。
要件を満たすテンプレートが表示されない場合は、Where can I find more examples to use as templates? をクリックすると情報ダイアログボックスが開き、さらに多くの例を含む URL リストが表示されます。
これらの例の 1 つを使用するには、以下を実行します。
- Cancel を選択して、New Fuse Integration Project ウィザードを終了します。
- リストされた URL の 1 つからリポジトリーのクローンを作成します。
- 12章既存 Maven プロジェクトのインポート で説明されているとおり、サンプルプロジェクトを CodeReady Studio にインポートします。
Fuse on OpenShift には、Spring XML 設定ファイルを使用して Spring Boot で Camel ルートを設定する方法を示すテンプレートが 1 つあります。このテンプレートは Fuse Integration プロジェクトを作成します。また、2.18.1.redhat-000012 より新しい Camel バージョンが必要です。
このテンプレートは、OpenShift サーバーで実行されるプロジェクトを作成し、Spring DSL のみサポートします。このテンプレートの使用の詳細については、6章Fuse on OpenShift の使用 を参照してください。
Wildfly または Fuse on EAP の場合、こんにちはと言うために Bean サービスを呼び出すサンプル Camel ルートを提供するテンプレートが 1 つあります。このテンプレートは、Red Hat EAP サーバーで実行されるプロジェクトを作成し、Spring DSL のみサポートします。
Karaf または Fuse on Karaf の場合、テンプレートを選択できます。サポートされている 3 つのドメイン固有言語 (DSL) のいずれかに基づいてスケルトン Camel コンテキストのルーティングファイルを作成する空のプロジェクトを作成するか、事前定義されたテンプレート (それぞれ一般的なユースケースに基づく) を使用できます。個々のテンプレートがすべての DSL オプションをサポートしているとは限りません。
注記Java DSL の場合、ツールはツールの Java エディターで編集することができる
CamelRoute.java
ファイルを生成しますが、グラフィカルダイアグラム表現を生成しません。Content Based Router — 特定の場所からファイルを読み取り、メッセージの内容に応じて異なる出力フォルダーにルーティングするサンプル Camel ルートを提供します。
このテンプレートは、Red Hat Fuse サーバーで実行されるプロジェクトを作成し、3 つの DSL をすべてサポートします。
CXF code first — CXF Web サービス呼び出しによって開始されるサンプル Camel ルートを提供します。
このテンプレートは、Red Hat Fuse サーバーで実行されるプロジェクトを作成し、Spring および Java DSL のみサポートします。
- リストからテンプレートを選択します。
Finish をクリックします。
ツールはプロジェクトの構築を開始し、それを Project Explorer ビューに追加します。
Fuse Integration パースペクティブがまだ開いていない場合、ツールは今すぐそれに切り替えるかどうかを尋ねます。
Yes をクリックして、Fuse Integration パースペクティブで新しいプロジェクトを開きます。
プロジェクトが Project Explorer ビューに表示されます。デフォルトでは、プロジェクトには Apache Camel コンテキスト (XML) ファイルが含まれています。
キャンバスの下部にある Source タブをクリックして、生成された Camel コンテキストファイルを表示します。
プロジェクトに別の新しい Camel コンテキストファイルを追加する場合は、10章新規 Camel XML ファイルの作成 を参照してください。
CXF を使用するプロジェクトをビルドする場合、Java ファイルでビルドプロセスが自動的に実行されて WSDL ファイルが生成されるようにできます。そのためには、プロジェクトの .pom
ファイルで java2ws
Maven プラグインを設定します。Apache CXF Development Guide の Maven Tooling Reference の java2ws を参照してください。
Maven 依存関係エラーの解決
新しい Fuse Integration プロジェクトを作成した後、Maven 依存関係エラーが発生することがあります。
他の場合でも発生する可能性はありますが、通常は、プロセスが完了する前にプロジェクトのビルドをキャンセルした場合に発生します。この方法でプロセスを中断すると、プロジェクトのすべての依存関係が Maven リポジトリーからダウンロードできなくなることがよくあります。これには時間がかかる場合があります。
多くの場合、これらの依存関係エラーは、Maven 依存関係を次のように更新することで解決できます。
- Project Explorer ビューで、ルートプロジェクトを右クリックしてコンテキストメニューを開きます。
-
Maven
Update Project を選択します。 Update Maven Project ウィザードで、以下を実行します。
- ウィザードのリストに複数のプロジェクトが表示されている場合は、更新するプロジェクトを選択します。
- Force Update of Snapshots/Releases オプションをクリックして有効にします。
OK をクリックします。
欠落している依存関係が Maven リポジトリーからダウンロードされる際に、ワークベンチの右下隅に進行状況を示すバーが表示されます。