IBM FileNet P8, バージョン 5.2.1            

リリース間アプリケーションの開発

Content Platform Engine サーバーの 5.2.1 バージョン以降、Content Engine Java™ API は、CRCL と呼ばれるリリース間クラス・ロード機能をサポートしています。 CRCL を使用すると、Java アプリケーションの単一のインスタンスを複数の Content Platform Engine サーバー・リリースに接続できます。 例えば、1 つのアプリケーションが Content Platform Engine サーバーの 5.0、5.1、および 5.2.1 バージョンに同時に接続できます。複数の Content Platform Engine サーバーを切り替えるためにアプリケーションを再始動または再構成する必要はありません。

リリース間クラス・ロード・サポートを提供するのは、Content Engine Java API のみです。 このサポートは、Content Engine .NET API および Process Engine API には組み込まれていません。

リリース間アプリケーションは、以下の要件を満たしている必要があります。

以下のコード例は、ConfigurationParameter.CONNECTION_IMPLEMENTATION_API_URLSConfigurationParameter.CONNECTION_IMPLEMENTATION_API_LOCATIONS を使用して、Jace.jar ファイルへのロケーションに Connection URL を関連付ける方法を示しています。両方とも、キーと値のペアのリストを提供します。ConfigurationParameter.CONNECTION_IMPLEMENTATION_API_URLS では、キーは Content Platform Engine 接続 URL であり、値は Content Platform Engine リリース番号です (この例のための架空の値です)。ConfigurationParameter.CONNECTION_IMPLEMENTATION_API_LOCATIONS では、キーは Content Platform Engine リリース番号であり、値はそのリリースの Jace.jar へのパスです。

CRCL はこの 2 つのパラメーターを一緒に使用して、Content Platform Engine Connection URL と実装 API 用の Jace.jar のコピーとの間の多対 1 マップを作成しを作成します。Connection オブジェクトで、URL は、対応する実装 API JAR ファイルを検索するために使用されます。 CRCL は Content Platform Engine 接続の値を JAR ファイルのロケーションのキーと突き合わせます。以下の例では、CRCL は URL http://svr1:9080/wsi/FNCEWS40SOAP//my/vault/Jace-6.0.2.3.jar と突き合わせ、URL iiop://svr2:2809/FileNet/Engine/my/vault/7.11.0.0/Jace.jar と突き合わせます。

JAR ロケーションと一致できない URL、またはキーと値のマッピングに存在しない URL が含まれている Connection は、表示可能 API の使用にフォールバックします。

...
String urlMapping = "~http://svr1:9080/wsi/FNCEWS40SOAP/ ~ 6.0.2.3" +
                    "~iiop://svr2:2809/FileNet/Engine ~ 7.11.0.0";
String pathMapping = "^6.0.2.3 ^ /my/vault/Jace-6.0.2.3.jar" +
                     "^7.11.0.0 ^ /my/vault/7.11.0.0/Jace.jar";

ConfigurationParameters parameters = new ConfigurationParameters();
parameters.setParameter(ConfigurationParameter.CONNECTION_IMPLEMENTATION_API_URLS, urlMapping);
parameters.setParameter(ConfigurationParameter.CONNECTION_IMPLEMENTATION_API_LOCATIONS, pathMapping);

この例を続行するために、クライアントは 2 つの Connection オブジェクトを作成します。1 つは Content Platform Engine リリース 6.0.2.3 用で、1 つは Content Platform Engine リリース 7.11.0.0 用です。それぞれの ConnectionConfigurationParameters オブジェクトとともに構成され、該当する実装 JAR に URL をマップします。それぞれの Connection では、CRCL はサーバーに適した実装クラスをロードします。

crcl.connectToSvr1(parameters);
crcl.connectToSvr2(parameters);

// Connect to svr1.
public void connectToSvr1(ConfigurationParameters parameters)
{
   svr1Conn = Factory.Connection.getConnection(<svr1Uri>, parameters);
   Subject subject = UserContext.createSubject(svr1Conn, <username>, <password>, <jaasStanza>);
   UserContext.get().pushSubject(subject);

   try 
   {
      // do work on svr1
   }
   finally
   {
      UserContext.get().popSubject();
   }
}

// Connect to svr2.
public void connectToSvr2(ConfigurationParameters parameters)
{
   svr2Conn = Factory.Connection.getConnection(<svr2Uri>, parameters);
   Subject subject = UserContext.createSubject(svr2Conn, <username>, <password>, <jaasStanza>);
   UserContext.get().pushSubject(subject);

   try 
   {
      // do work on svr2
   }
   finally
   {
      UserContext.get().popSubject();
   }
}


最終更新日: 2015 年 10 月
gs_concepts_setup_cross_release.htm

© Copyright IBM Corp. 2015.