OSGi Blueprint XML ファイルを使用して WebSphere® eXtreme
Scale コンテナー・サーバーを
構成できます。この方法によりパッケージ化が簡単になるほか、自己完結型サーバー・バンドルの作成が可能になります。
始める前に
このトピックは、以下のタスクが完了していることを前提としています。
- Eclipse Gemini または Apache Aries の Blueprint コンテナーを使用する Eclipse Equinox OSGi フレームワークを
インストールし、開始していること。
- eXtreme Scale サーバー・バンドルをインストールし、開始していること。
- eXtreme Scale 動的プラグイン・バンドルの作成が完了していること。
- eXtreme Scale ObjectGrid 記述子 XML ファイルと
デプロイメント・ポリシー XML ファイルの作成が完了していること。
このタスクについて
このタスクでは、Blueprint XML ファイルを使用して eXtreme Scale サーバーと
コンテナーを構成する方法を説明します。この手順の結果として、コンテナー・バンドルが作成されます。コンテナー・バンドルが開始されると、eXtreme Scale サーバー・バンドルは
そのバンドルを追跡し、サーバー XML を解析し、サーバーとコンテナーを開始します。
コンテナー・バンドルは、動的プラグイン更新が必要でない場合または
プラグインが動的更新をサポートしない場合に、オプションでアプリケーション
および eXtreme Scale プラグインと結合できます。
手順
- objectgrid 名前空間が組み込まれた Blueprint XML ファイルを作成します。 ファイルには任意の名前を付けることができます。ただし、blueprint 名前空間を含める必要があります。
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
xmlns:objectgrid="http://www.ibm.com/schema/objectgrid"
xsi:schemaLocation="http://www.ibm.com/schema/objectgrid
http://www.ibm.com/schema/objectgrid/objectgrid.xsd">
...
</blueprint>
- 適切なサーバー・プロパティーを使用して eXtreme Scale サーバーの XML 定義を追加します。 すべての使用可能な構成プロパティーの詳細については、Spring 記述子 XML ファイルを
参照してください。次の XML 定義の例を参照してください。
<objectgrid:server id="xsServer" tracespec="ObjectGridOSGi=all=enabled"
tracefile="logs/osgi/wxsserver/trace.log" jmxport="1199" listenerPort="2909">
<objectgrid:catalog host="catserver1.mycompany.com" port="2809" />
<objectgrid:catalog host="catserver2.mycompany.com" port="2809" />
</objectgrid:server>
- サーバー定義への参照と、バンドルに組み込まれている ObjectGrid 記述子 XML ファイルと
ObjectGrid デプロイメント XML ファイルを使用して
eXtreme Scale コンテナーの XML 定義を追加します。例えば、次のようにします。
<objectgrid:container id="container"
objectgridxml="/META-INF/objectGrid.xml"
deploymentxml="/META-INF/objectGridDeployment.xml"
server="xsServer" />
- Blueprint XML ファイルをコンテナー・バンドル内に保管します。 Blueprint XML は OSGI-INF/blueprint ディレクトリー内に保管し、Blueprint コンテナーが
検出されるようにしなければなりません。
Blueprint XML を他のディレクトリーに保管するには、Bundle-Blueprint マニフェスト・ヘッダーを
指定する必要があります。例えば、次のようにします。
Bundle-Blueprint: OSGI-INF/blueprint.xml
- ファイルを単一バンドル JAR ファイルにパッケージ化します。 次のバンドル・ディレクトリー階層の例を参照してください。
MyBundle.jar
/META-INF/manifest.mf
/META-INF/objectGrid.xml
/META-INF/objectGridDeployment.xml
/OSGI-INF/blueprint/blueprint.xml
タスクの結果
これで
eXtreme Scale コンテナー・バンドルが作成されたので、Eclipse Equinox に
インストールできます。コンテナー・バンドルが開始されると、
eXtreme Scale サーバー・バンドル内の
eXtreme Scale サーバー・ランタイム環境が、バンドルに
定義されているパラメーターを使用して singleton
eXtreme Scale サーバーを
自動的に開始し、コンテナー・サーバーも開始します。
バンドルは停止したり開始したりでき、それを受けてコンテナーも停止または開始されます。サーバーは singleton であり、バンドルがはじめて開始されたときは停止しません。