OSGi Blueprint でのサーバーの構成

OSGi Blueprint XML ファイルを使用して WebSphere® eXtreme Scale コンテナー・サーバーを 構成できます。この方法によりパッケージ化が簡単になるほか、自己完結型サーバー・バンドルの作成が可能になります。

始める前に

このトピックは、以下のタスクが完了していることを前提としています。

このタスクについて

このタスクでは、Blueprint XML ファイルを使用して eXtreme Scale サーバーと コンテナーを構成する方法を説明します。この手順の結果として、コンテナー・バンドルが作成されます。コンテナー・バンドルが開始されると、eXtreme Scale サーバー・バンドルは そのバンドルを追跡し、サーバー XML を解析し、サーバーとコンテナーを開始します。

コンテナー・バンドルは、動的プラグイン更新が必要でない場合または プラグインが動的更新をサポートしない場合に、オプションでアプリケーション および eXtreme Scale プラグインと結合できます。

手順

  1. 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>
  2. 適切なサーバー・プロパティーを使用して 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>
  3. サーバー定義への参照と、バンドルに組み込まれている ObjectGrid 記述子 XML ファイルと ObjectGrid デプロイメント XML ファイルを使用して eXtreme Scale コンテナーの XML 定義を追加します。例えば、次のようにします。
    <objectgrid:container id="container"
        objectgridxml="/META-INF/objectGrid.xml" 
        deploymentxml="/META-INF/objectGridDeployment.xml"
        server="xsServer" />
  4. Blueprint XML ファイルをコンテナー・バンドル内に保管します。 Blueprint XML は OSGI-INF/blueprint ディレクトリー内に保管し、Blueprint コンテナーが 検出されるようにしなければなりません。
    Blueprint XML を他のディレクトリーに保管するには、Bundle-Blueprint マニフェスト・ヘッダーを 指定する必要があります。例えば、次のようにします。
    Bundle-Blueprint: OSGI-INF/blueprint.xml
  5. ファイルを単一バンドル 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 であり、バンドルがはじめて開始されたときは停止しません。