在 JVM 伺服器中部署 OSGi 組合

若要在 JVM 伺服器中部署 Java™ 應用程式,您必須在目標 JVM 伺服器的 OSGi 架構中安裝該應用程式的 OSGi 組合。

開始之前

包含應用程式之 OSGi 組合的 CICS® 組合,必須部署至 zFS。目標 JVM 伺服器必須在 CICS 區域中啟用。

關於這項作業

CICS 組合可以包含一個以上的 OSGi 組合。因為 CICS 組合是部署單元,所以所有 OSGi 組合都會作為 BUNDLE 資源的一部分一起管理。OSGi 架構也會管理 OSGi 組合的生命週期,包括相依關係及版本化的管理。

請確定包含 Java 應用程式元件的所有 OSGi 組合,都部署在相同的 CICS 組合中。如果 OSGi 組合之間有相依關係,請將它們部署在相同的 CICS 組合中。當您安裝 CICS BUNDLE 資源時,CICS 可確保解析 OSGi 組合之間的所有相依關係。

如果您在 OSGi 組合上有相依關係,而該組合包含通用代碼程式庫,請針對該程式庫建立個別的 CICS 組合。在此情況下,請務必先安裝包含該程式庫的 CICS BUNDLE 資源。如果您先安裝 Java 應用程式,再安裝該應用程式相依的 CICS 組合,則 OSGi 架構無法解析 Java 應用程式的相依關係。

請勿嘗試將包含 OSGi 組合的 CICS 組合安裝到 Liberty JVM 伺服器,因為不支援此配置。您可以將 OSGi 組合與您的 Web 應用程式一起套裝在企業組合保存 (EBA) 檔中,也可以使用 WebSphere® Liberty Profile 組合儲存庫,讓 Liberty JVM 伺服器中的所有 Web 應用程式都可以使用該 OSGi 組合。

程序

  1. 建立 BUNDLE 資源,指定 zFS 中該組合的目錄:
    1. 在 CICS SM 視景中,在 CICS Explorer® 功能表列中按一下定義 > 組合定義,以開啟「組合定義」視圖。
    2. 用滑鼠右鍵按一下視圖中的任一位置,然後按一下新建,以開啟「新建組合定義」精靈。 在精靈欄位中,輸入 BUNDLE 資源的詳細資料。
    3. 安裝 BUNDLE 資源。 您可以安裝處於已啟用或已停用狀態的資源:
      • 如果您安裝處於「已停用」狀態的資源,則 CICS 會在架構中安裝 OSGi 組合並解析相依關係,但不會嘗試啟動組合。
      • 如果您安裝處於「已啟用」狀態的資源,則 CICS 會安裝 OSGi 組合並解析相依關係,然後啟動 OSGi 組合。如果 OSGi 組合包含智慧型組合啟動器,則 OSGi 架構在另一個 OSGi 組合第一次呼叫該組合之後,才嘗試啟動該組合。
  2. 選擇性的: 啟用 BUNDLE 資源可以在架構中啟動 OSGi 組合(如果資源還不是處於「已啟用」狀態)。
  3. CICS Explorer 功能表列中,按一下作業 > 組合,以開啟「組合」視圖。請檢查 BUNDLE 資源的狀態。
    • 如果 BUNDLE 資源是處於「已啟用」狀態,則 CICS 可以在組合中順利安裝所有資源。
    • 如果 BUNDLE 資源是處於「已停用」狀態,則 CICS 無法在組合中安裝一個以上的資源。
    如果無法安裝處於已啟用狀態的 BUNDLE 資源,請檢查 BUNDLE 資源的組合組件。如果有任一組合組件的狀態為「無法使用」,則 CICS 無法建立 OSGi 組合。一般來說,此狀態表示 zFS 中的 CICS 組合發生問題。您必須捨棄 BUNDLE 資源,修正問題,然後重新安裝 BUNDLE 資源。
  4. CICS Explorer 功能表列中,按一下作業 > Java > OSGi 組合,以開啟「OSGi 組合」視圖。請檢查 OSGi 架構中已安裝的 OSGi 組合及服務的狀態。
    • 如果 OSGi 組合是處於「啟動中」狀態,則已呼叫組合啟動器,但尚未傳回。如果 OSGi 組合有智慧型啟動原則,則在 OSGi 架構中呼叫該組合之前,組合會維持此狀態。
    • 如果 OSGi 組合和 OSGi 服務作用中,則表示 Java 應用程式已就緒。
    • 如果 OSGi 服務非作用中,可能是 CICS 已偵測到具有該名稱的 OSGi 服務已存在於 OSGi 架構中。
    • 如果您停用 BUNDLE 資源,OSGi 組合會變成「已解析」狀態。
    • 如果 OSGi 組合處於「已安裝」狀態,則表示它未啟動或因為無法解析 OSGi 組合中的相依關係而無法啟動。

結果

BUNDLE 已啟用,OSGi 組合已順利安裝在 OSGi 架構中,且所有 OSGi 服務均在作用中。OSGi 組合可供架構中的其他組合使用。

下一步

您可以讓 Java 應用程式供 OSGi 架構外的其他 CICS 應用程式使用,如呼叫 JVM 伺服器中的 Java Web 應用程式所述。若要更新或移除應用程式,請參閱管理 Java 應用程式