建立供應商類別的 OSGi 軟體組片段

如果您的應用程式使用 JRE 隨附的 IBM 或供應商類別,您必須建立 OSGi 軟體組片段,以讓這些類別可在 OSGi 架構中使用

關於這項作業

CICS® TS 5.1 開始,OSGi 架構有較嚴格的規則來控制哪些類別可以從 JRE 載入。

任何字首為 java 的套件都會視應用程式的需求,由 OSGi 架構載入。如果應用程式使用了 JRE 隨附的 IBM 或供應商套件(例如 com.ibm.misc),您必須建立中介 OSGi 軟體組,以讓這些類別可在 OSGi 架構中使用。如果您未這樣做,交易會因 AJ05 代碼而異常終止,並將 java.lang.ClassNotFoundException 錯誤寫入 JVM 伺服器錯誤日誌及 CICS 系統日誌中。

您不需要對 CICS Java 類別完成這些步驟,因為 JCICS 類別會自動可於 OSGi 架構中使用。

程序

  1. 對應用程式所需的每一個 IBM 或供應商套件,建立一個用來匯出套件的 OSGi 軟體組片段。 下例範例顯示 OSGi 軟體組片段資訊清單包含的內容:
    Manifest-Version: 1.0
    Bundle-ManifestVersion: 2
    Bundle-Name: Extension
    Bundle-SymbolicName: com.ibm.example.extension
    Bundle-Version: 1.0.0
    Bundle-Vendor: IBM
    Fragment-Host: system.bundle; extension:=framework
    Export-Package: com.ibm.misc
    Bundle-RequiredExecutionEnvironment: JavaSE-1.6

    Fragment-Host 定義了擴充 OSGi 架構中系統組合的 OSGi 軟體組片段。Export-Package 會列出匯出的套件;在本例中,會匯出以 com.ibm.misc 開頭的套件。如果您使用 Eclipse,請忽略所標示的錯誤。

  2. 變更應用程式,在適當的 OSGi 軟體組資訊清單中新增已匯出套件的匯入項目。 每一個需要來自 IBM 或供應商套件之類別的 OSGi 軟體組,都必須在資訊清單中宣告該套件。
  3. 建立 OSGi 軟體組片段的「CICS 軟體組」專案。根據您是否要一起管理片段的生命週期,您可以在專案中併入一或數個 OSGi 軟體組片段。 最佳作法是讓中介軟體組與應用程式分開,讓管理者可以在 CICS 中個別管理生命週期。

結果

您已建立 CICS 軟體組專案,其中包含一個以上會從 JRE 匯出套件的 OSGi 軟體組片段。部署時,這個中介軟體組會確保您的應用程式可以在 CICS TS 5.1 JVM 伺服器中執行。

下一步

部署應用程式和中介軟體組。您必須確定目標 JVM 伺服器的 JVM 設定檔已在 OSGI_BUNDLES 選項指定中介軟體組。