配置 OSGi 應用程式的程式庫

每個 OSGi 應用程式都可以存取一組所提供的 API 及其本身的內部類別。 另外,也可以配置共用程式庫,供存取共用程式庫中的額外套件。

關於這項作業

每個 OSGi 應用程式都會在某個執行中的 Liberty 伺服器中,有它自己的一組 OSGi 軟體組。 每個 OSGi 軟體組都會指定一些它所需要的套件,以及它提供給其他 OSGi 軟體組使用的套件。 OSGi 應用程式內的軟體組可以存取相同 OSGi 應用程式內的其他軟體組所提供的任何套件。 此外,OSGi 應用程式內的 OSGi 軟體組也可以存取 Liberty 伺服器所提供的 API 套件。 另,共用程式庫也可用來提供 API 套件給 OSGi 應用程式使用。

在多個 OSGi 應用程式之間,可以共用程式庫。 所有應用程式,其中包括 Java EE 應用程式,都可以在執行時期使用共用程式庫所提供的相同類別。

程序

  1. ${WLP_USER_DIR} 目錄之下的 servers/defaultServer 目錄中,建立一個 mylib/osgi 目錄。 例如:wlp/usr/servers/defaultServer/mylib/osgi
  2. osgi-lib.jarcommons-lang.jar 檔複製至新資料夾中。
  3. 配置應用程式的共用程式庫,以便載入程式庫。在 server.xml 檔或某個併入檔中,新增下列程式碼來定義程式庫:
    <library id="mylib">
        <fileset dir="${server.config.dir}/mylib/osgi" includes="*.jar" scanInterval="5s">
    	</library>
    註: library 元素也可以取得含有逗點區隔的 fileset 元素 ID 清單之 filesetRef 屬性。
  4. 將程式庫作為 OSGI 程式庫來參照,以便 OSGi 應用程式能夠存取程式庫所提供的套件,以及共用程式庫的單一副本。 在 server.xml 檔或某個併入檔中,新增下列程式碼:
    <osgiLibrary libraryRef="myLib"/>
  5. 選用項目:配置套件清單,使它們可供 OSGi 應用程式進行存取。 利用 osgiLibrary 元素來配置共用程式庫之後,OSGi 應用程式便可以存取共用程式庫所包含的套件。 套件也可以列出,以便進一步控制 OSGi 應用程式可以存取哪些套件。 package 語法利用 OSGi Export-Package 標頭語法來定義每個套件。 如果要列出 server.xml 檔中的各個套件,或某個併入檔,請新增下列程式碼:
    <osgiLibrary libraryRef="myLib">
        <package>org.example.osgi.lib.pkg1; version=1.0</package>
        <package>org.example.osgi.lib.pkg2; version=1.1</package>
    </osgiLibrary>
    註: 當未使用任何 package 元素時,會掃描程式庫來尋找程式庫所提供的套件。 探索到的每個套件,預設版本都是 0.0.0。

指示主題類型的圖示 作業主題



「時間戳記」圖示 前次更新: 2016 年 11 月 30 日
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_admin_osgiappl
檔名:twlp_admin_osgiappl.html