第10章 プロジェクトを Red Hat Fuse に公開する
このチュートリアルでは、プロジェクトを Red Hat Fuse に公開するプロセスを説明します。Red Hat Fuse Tooling を実行しているのと同じマシンに Red Hat Fuse のインスタンスがインストールされていることを前提としています。
ゴール
このチュートリアルでは、次のタスクを完了します。
- Red Hat Fuse サーバーを定義します
- 公開オプションを設定します
- 
					Red Hat Fuse サーバーを起動し、ZooOrderAppプロジェクトをパブリッシュする
- Red Hat Fuse サーバーに接続します
- 
					ZooOrderAppプロジェクトのバンドルが正常にビルドされ、公開されたかどうかを確認する
- 
					ZooOrderAppプロジェクトのアンインストール
前提条件
このチュートリアルを開始する前に、次のものが必要です。
- Red Hat Fuse インスタンスへのアクセス
- コンピューターにインストールされている Java 8
- 次のいずれかから生じる ZooOrderApp プロジェクト: - 9章JUnit を使用したルートのテスト チュートリアルを完了します。 - あるいは、以下のような場合もあります。 
- 
							2章環境の設定チュートリアルを完了し、「リソースファイルについて」に記載されているように、プロジェクトの blueprint.xmlファイルを、提供されるblueprintContexts/blueprint3.xmlファイルに置き換える。
 
Red Hat Fuse Server の定義
サーバーを定義するには:
- Fuse Integration パースペクティブを開きます。
- 右下のパネルの Servers タブをクリックして、Servers ビューを開きます。
- 以下をクリックします。利用可能なサーバーはありません。このリンクをクリックして、新しいサーバーを作成...リンクをクリックすると、Define a New Server ページが表示されます。 注記- すでにサーバーが定義されているときに新しいサーバーを定義するには、Servers ビュー内を右クリックして、New - Server を選択します。 
- Red Hat JBoss Middleware ノードをデプロイメントして、使用可能なサーバーオプションを公開します。 
- Red Hat Fuse サーバーを選択します。
- Server's host name ( localhost) と Server name (Fuse n.n Runtime Server) のデフォルトを受け入れ、Next をクリックして Runtime ページを開きます。 注記- Fuse をまだインストールしていない場合は、Download and install runtime リンクを使用して今すぐダウンロードできます。 - すでにサーバーを定義している場合、ツールはこのページをスキップし、代わりに設定の詳細ページを表示します。 
- Name のデフォルトを受け入れます。
- Home Directory フィールドの横にある Browse をクリックして、インストールに移動して選択します。
- Execution Environment の横にあるドロップダウンメニューからランタイム JRE を選択します。 - JavaSE-1.8(推奨) を選択します。必要に応じて、Environments ボタンをクリックしてリストから選択します。 注記- Fuse サーバーには Java 8 が必要です (推奨)。Execution Environment で選択するには、事前にインストールしておく必要があります。 
- Alternate JRE オプションはそのままにしておきます。
- Next をクリックして Fuse Server のランタイム定義を保存し、Fuse server configuration details ページを開きます。 
- SSH Port のデフォルト (8101) を受け入れます。 - ランタイムは SSH ポートを使用して、サーバーの Karaf シェルに接続します。このデフォルトが正しくない場合は、Red Hat Fuse - installDir/etc/org.apache.karaf.shell.cfgファイルを確認して正しいポート番号を検出できます。
- User Name に、サーバーへのログインに使用する名前を入力します。 - これは、Red Hat Fuse installDir`/etc/users.properties` ファイルに保存されているユーザー名です。 注記- /etc/users.propertiesファイルのデフォルトのユーザーがアクティベートされている場合 (アンコメント)、ツールは User Name および Password にデフォルトユーザーの名前およびパスワードを自動入力します。- 設定されていない場合は、 - user=password,roleのフォーマットを使用してそのファイルにユーザーを追加するか (例:- joe=secret,Administrator)、karaf- jaasコマンドセットを使用して設定できます。- 
							jaas:realms: レルムをリスト表示します。
- 
							jaas:manage --index 1: 最初の (サーバー) レルムを編集します。
- 
							jaas:useradd <username> <password>— ユーザーと関連するパスワードを追加します。
- 
							jaas:roleadd <username> Administrator— 新規ユーザーのロールを指定します。
- jaas:update— 新しいユーザー情報を使用してレルムを更新します。- サーバーに対して jaas レルムがすでに選択されている場合は、コマンド - JBossFuse:karaf@root>- jaas:usersを実行してユーザー名を検出できます。
 
- 
							
- Password には、サーバーにログインする際に User name に必要なパスワードを入力します。 - これは、Red Hat Fuse の - installDir/etc/users.propertiesファイルまたは karaf- jaasコマンドによって設定されたパスワードです。
- Finish をクリックします。 - Runtime Server [stopped, Synchronized] が Servers ビューに表示されます。 
- Servers ビューで、ランタイムサーバーをデプロイメントします。 - JMX[Disconnected] は、Runtime Server [stopped, Synchronized] エントリーの下にノードとして表示されます。 
公開オプションの設定
			パブリッシュオプションを使用して、ZooOrderApp プロジェクトを稼働中のサーバーにパブリッシュする方法およびタイミングを設定できます。
		
- プロジェクトに加えられた変更を保存するとすぐに自動的に
- プロジェクトを変更して保存した後、設定された間隔で自動的に
- 手動で、公開操作を選択した場合
			このチュートリアルでは、ZooOrderApp プロジェクトへの変更を保存したら直ちにパブリッシュするように設定します。改善点を報告する場合は、以下のように行います。
		
- Servers ビューで、Runtime Server [stopped, Synchronized] エントリーをダブルクリックして、その概要を表示します。
- サーバーの Overview ページで、Publishing セクションをデプロイメントしてオプションを表示します。 - Automatically publish when resources change オプションが有効になっていることを確認します。 - 必要に応じて、Publishing interval の値を変更して、変更が加えられたときにプロジェクトの公開を高速化または遅延させます。 
- 
					Servers ビューで、 
					 をクリックします。 をクリックします。
- サーバーが起動するまで数秒待ちます。その場合: - Terminal ビューにスプラッシュ画面が表示されます。 
- Servers ビューには以下が表示されます。 
- JMX Navigator は、n.n Runtime Server[Disconnected と表示します: 
 
- Servers ビューで、n.n Runtime Server [Started] を右クリックし、Add and Remove を選択して、Add and Remove ページを開きます。 - If server is started, publish changes immediately オプションがオンになっていることを確認します。 
- ZooOrderAppを選択し、Add をクリックして Fuse サーバーに割り当てます。
- Finish をクリックします。 - Servers ビューには、次のように表示されます。 - Runtime Server [Started, Synchronized] 注記- サーバーの場合、synchronized とは、サーバーで公開されているすべてのモジュールがローカルの対応するモジュールと同一であることを意味します。 
- ZooOrderApp [Started, Synchronized] 注記- モジュールの場合、synchronized とは、公開されたモジュールがローカルの対応するモジュールと同一であることを意味します。自動公開が有効になっているため、ZooOrderApp プロジェクトに加えられた変更は、(Publishing interval の値に応じて) 数秒で公開されます。 
- JMX[Disconnected]
 
ランタイムサーバーへの接続
			ランタイムサーバーへの接続後、ZooOrderApp プロジェクトのパブリッシュされた要素が表示され、それらと対話できます。
		
- Servers ビューで、JMX[Disconnected] をダブルクリックしてランタイムサーバーに接続します。
- JMX Navigator で - Camelフォルダーをデプロイメントし、- ZooOrderAppの要素を表示します。
- Bundles ノードをクリックして、ランタイムサーバーにインストールされているバンドルのリストを Properties ビューに入力します。 
- Search フィールドに ZooOrderApp と入力します。対応するバンドルが表示されます。 注記- または、Terminal ビューで - osgi:listコマンドを実行し、サーバーランタイムにインストールされているバンドルに関する生成されたリストを表示することもできます。ツールは、- osgi:listコマンドが表示する OSGi バンドルに異なる命名スキームを使用します。この場合、コマンドは- Camel Blueprint Quickstartを返します。これはインストールされたバンドルのリストの最後に表示される- プロジェクトの - pom.xmlファイルの- <build>セクションで、バンドルのシンボリック名およびそのバンドル名 (OSGi) が- maven-bundle-pluginエントリーにリスト表示されます。
ZooOrderApp プロジェクトのアンインストール
公開されたリソースをアンインストールするために、JMX 接続を切断したり、サーバーを停止したりする必要はありません。
			ランタイムサーバーから ZooOrderApp リソースを削除するには、以下を実行します。
		
- Servers ビューで、n.n Runtime Server を右クリックしてコンテキストメニューを開きます。
- Add and Remove を選択します: 
- 
					Configured 列で ZooOrderAppを選択し、Remove をクリックしてZooOrderAppリソースを Available 列に移動します。
- Finish をクリックします。
- Servers ビューで、JMX[Connected] を右クリックし、Refresh をクリックします。 - JMX[Connected] 下の - Camelツリーが消えます。注記- JMX Navigator でも、Server Connections > n.n Runtime Server[Connected] の - Camelツリーが消失します。
- Properties ビューに Bundles ページが表示されたら、リストの最後までスクロールして、ZooOrderApp のバンドルがリストされていないことを確認します。
 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    