JVM サーバーに Java アプリケーションを配置するには、ターゲット JVM サーバーの OSGi フレームワークにそのアプリケーションの OSGi バンドルをインストールする必要があります。
始める前に
アプリケーションの OSGi バンドルが入っている CICS® バンドルは、zFS に配置されなければなりません。
ターゲット JVM サーバーは、CICS 領域で稼働していなければなりません。
このタスクについて
CICS バンドルには、1 つ以上の OSGi バンドルおよびサービスを含むことができます。
CICS バンドルは配置の単位であるため、すべての OSGi バンドルとサービスは、BUNDLE リソースの一部として一緒に管理されます。
また、OSGi フレームワークは、依存関係とバージョン管理の管理を含む、OSGi バンドルとサービスのライフサイクルも管理します。
ベスト・プラクティスとしては、Java アプリケーションを構成するすべての OSGi バンドルを同じ CICS バンドルに配置するのが適切です。
この方法を使用すると、BUNDLE リソースを使って 1 つのエンティティーとしてアプリケーションを管理できます。
OSGi バンドル相互間に依存関係がある場合は、それらを同じ CICS バンドルに配置してください。
CICS BUNDLE リソースをインストールすると、CICS によって OSGi バンドル間の依存関係がすべて解決されます。
共通コードのライブラリーを含む OSGi に依存する場合、ベスト・プラクティスは、そのライブラリー用に別個の CICS バンドルを作成することです。
この場合、そのライブラリーを含む CICS BUNDLE リソースを最初にインストールすることが重要です。
Java アプリケーションをインストールしてから、その Java アプリケーションが依存する CICS バンドルをインストールすると、OSGi フレームワークは、その Java アプリケーションの依存関係を解決できません。
手順
- CICS バンドル・マニフェストにターゲット JVM サーバーのインポートが含まれていない場合は、CICS バンドル・マニフェスト・エディターを使用して、JVM サーバーのインポートのエントリーを追加します。
- zFS のバンドルのディレクトリーを指定する BUNDLE リソースを作成します。
- CICS Explorer® メニュー・バーでをクリックして、「バンドル定義」ビューを開きます。
- ビューの任意の場所を右クリックして、「新規」をクリックし、「新規バンドル定義 (New Bundle Definition)」ウィザードを開きます。 ウィザードのフィールドに BUNDLE リソースの詳細を入力します。
- BUNDLE リソースをインストールします。 以下に示すように、有効または無効の状態でリソースをインストールできます。
- DISABLED 状態でリソースをインストールすると、CICS は OSGi バンドルをフレームワークにインストールし、依存関係を解決しますが、バンドルを開始しようとしません。
- ENABLED 状態でリソースをインストールすると、CICS は OSGi バンドルをインストールし、依存関係を解決し、OSGi バンドルを開始します。
遅延的なバンドル・アクティベーターが OSGi バンドルに含まれる場合、別の OSGi バンドルによって呼び出されるまでは、OSGi フレームワークはバンドルを開始しようとしません。
- オプション: フレームワークで OSGi バンドルを開始するために BUNDLE リソースを有効にします (まだリソースが ENABLED 状態でない場合)。
- CICS Explorer メニュー・バーでをクリックして、「バンドル」ビューを開きます。
BUNDLE リソースの状態を確認します。
- BUNDLE リソースが ENABLED 状態である場合、CICS はバンドル内のすべてのリソースを正常にインストールできました。
- BUNDLE リソースが DISABLED 状態である場合、CICS はバンドル内の 1 つ以上のリソースをインストールできませんでした。
BUNDLE リソースを有効状態でインストールできなかった場合、BUNDLE リソースのバンドル部分を調べてください。
いずれかのバンドル・パーツが UNUSABLE 状態である場合、CICS は OSGi バンドルを作成できませんでした。
通常、この状態は、zFS で CICS バンドルに問題があることを示します。
BUNDLE リソースを破棄し、問題を修正した後、BUNDLE リソースを再びインストールする必要があります。
- CICS Explorer メニュー・バーでをクリックして、「OSGI バンドル」ビューを開きます。
OSGi フレームワーク内のインストール済み OSGi バンドルとサービスの状態を確認します。 以下の表は、状態の要約です。
BUNDLE |
BUNDLEPART |
OSGIBUNDLE |
OSGISERVICE |
ENABLED |
ENABLING |
INSTALLED |
なし |
ENABLED |
STARTING |
なし |
ACTIVE |
ACTIVE |
INACTIVE |
DISABLED |
DISABLING |
STOPPING |
なし |
DISABLED |
RESOLVED |
なし |
UNUSABLE |
なし |
なし |
- OSGi バンドルが STARTING (開始中) 状態である場合、バンドル・アクティベーターが既に呼び出されましたが、まだ戻っていません。
OSGi バンドルのアクティベーション・ポリシーが「遅延」である場合、OSGi フレームワークで呼び出される時点まで、バンドルはこの状態を保ちます。
- OSGi バンドルと OSGi サービスがアクティブである場合、Java アプリケーションは作動可能です。
- OSGi サービスが非アクティブである場合、CICS は、その名前を持つ OSGi サービスが OSGi フレームワークに既に存在することを検出しました。
タスクの結果
BUNDLE が有効で、OSGi バンドルが OSGi フレームワークに正常にインストールされ、OSGi サービスがアクティブになりました。OSGi バンドルとサービスが、フレームワークの他のバンドルで利用できます。
次のタスク
Java アプリケーションを、OSGi フレームワークの外部にある他の CICS アプリケーションで利用可能にすることができます。