配置資源配接器

您可以配置遵守 Java™ EE 連接器架構 (JCA) 規格 1.6、1.5 或 1.0 版的資源配接器。

關於這項作業

您可以依照 JCA 規格中的定義來安裝和配置資源配接器,以及各種 Connection Factory、受管理物件和啟動規格。

程序

  1. 更新 server.xml 檔案,在 featureManager 標籤底下新增 jca-1.6 特性。 server.xml 檔案位於 [path_to_liberty\wlp\usr\servers\server_name]
     <featureManager>
      <feature>jca-1.6</feature>
     </featureManager>
  2. (選用)根據您的系統需求,啟用下列其他特性:
    • 如果您的資源配接器提供 JMS 規格介面,請啟用 jms-1.1 特性。
      <feature>jms-1.1</feature>
    • 如果您想要從您的應用程式查閱 Connection Factory 和受管理物件,請啟用 jndi-1.0 特性。
      <feature>jndi-1.0</feature>
    • 如果您的資源配接器提供訊息驅動 Bean 的啟動規格,請啟用 mdb-3.1 特性。
      <feature>mdb-3.1</feature>
    • 如果您的資源配接器支援入埠安全,請啟用 jcaInboundSecurity-1.0 特性。
      <feature>jcaInboundSecurity-1.0</feature>
    • 如果您的資源配接器支援 Bean 驗證,當您想驗證您的 Bean 時,可以啟用 beanValidation-1.0 特性。

      <feature>beanValidation-1.0</feature>
  3. 在伺服器中配置一或多個資源配接器。您可以使用下列其中一個方法來配置資源配接器。
    • 編輯 server.xml 檔案來配置獨立式資源配接器。
      <resourceAdapter location="C:/adapters/MyAdapter.rar"/>
    • 編輯 server.xml 檔案來配置內嵌式資源配接器,以安裝內嵌一或多個資源配接器模組的應用程式。下列範例假設 app1.ear 檔案包含一或多個內嵌的 RAR 檔案:
       <application location="C:/applications/app1.ear"/>
    • RAR 檔案放在伺服器 drop-ins 資料夾中,以允許伺服器自動配置獨立式資源配接器。
       wlp/usr/servers/your-server-name/dropins/MyDropinAdapter.rar
    • EAR 檔案放在伺服器 drop-ins 資料夾中,以允許伺服器自動配置含有一或多個內嵌式資源配接器的應用程式。下列範例假設 app2.ear 檔案包含一或多個內嵌的 RAR 檔案:
      wlp/usr/servers/your-server-name/dropins/app2.ear
  4. 啟動應用程式伺服器。 伺服器啟動之後,console.log 檔中會顯示如下的訊息:
    [AUDIT ] J2CA7001I: Resource adapter MyAdapter installed in 0.495 seconds. 
    [AUDIT ] J2CA7001I: Resource adapter MyDropinAdapter installed in 0.311 seconds. 
    [AUDIT ] J2CA7001I: Resource adapter app1.MyEmbeddedAdapter installed in 0.247 seconds.
    [AUDIT ] J2CA7001I: Resource adapter app2.anotherEmbeddedAdapter installed in 0.518 seconds.

範例

資源配接器需要有唯一 ID,以將所配置之 Connection Factory、受管理物件和啟動規格的實例,識別為與所安裝的資源配接器相關聯。若為獨立式資源配接器,會以模組名稱作為 ID。若為內嵌在應用程式中的資源配接器,會以應用程式名稱加模組名稱(以句點字元定界)作為 ID。

  • 如果要指定獨立式資源配接器的內容,並使用包含資源配接器 ID 為 MyAdapter 的 properties.MyAdapter 子元素:

    <resourceAdapter location="C:/adapters/MyAdapter.rar">
      <properties.MyAdapter logFile="${server.output.dir}/logs/myAdapter.log"/>
    </resourceAdapter>
  • 使用包含資源配接器 ID 為 MyAdapter 的 properties.MyAdapter 子元素,將 Connection Factory 與獨立式資源配接器建立關聯:

    <resourceAdapter location="C:/adapters/MyAdapter.rar"/>
    <connectionFactory jndiName="eis/cf">
     <properties.MyAdapter serverName="localhost" portNumber="1234"/>
    </connectionFactory>
  • 如果要將 Connection Factory 與 app1 應用程式中所啟用的資源配接器 MyEmbeddedAdapter 建立關聯,並使用 properties.app1.MyEmbeddedAdapter 子元素:

    <application location="C:/applications/app1.ear"/>
    <connectionFactory jndiName="eis/cf">
     <properties.app1.MyEmbeddedAdapter serverName="localhost" portNumber="1234"/>
    </connectionFactory>
  • 在某些情況下,模組名稱的唯一性不足以作為 ID。例如,如果您安裝相同資源配接器的兩個不同版本,就可能會發生這種情況。或者,模組名稱可能是唯一的,但是因為太長或包含非英數字元,而不適用於配置中。您可以指定 ID 屬性來置換資源配接器 ID。

    下列範例示範如何置換獨立式資源配接器的 ID:

    <resourceAdapter id="MyAdapterV1" location="C:/adapters/version-1.0/MyAdapter.rar"/>
    <resourceAdapter id="MyAdapterV2" location="C:/adapters/version-2.0/MyAdapter.rar"/>
    <connectionFactory jndiName="eis/cf1">
     <properties.MyAdapterV1 serverName="localhost" portNumber="1234"/>
    </connectionFactory>
    <connectionFactory jndiName="eis/cf2">
     <properties.MyAdapterV2 serverName="localhost" portNumber="1234"/>
    </connectionFactory>
  • 下列範例示範如何置換內嵌在應用程式中之資源配接器的 ID。此範例會將 ID 變更為 MyEmbeddedRA:

    <application location="C:/applications/app1.ear">
     <resourceAdapter id="MyEmbeddedAdapter" alias="MyEmbeddedRA"/>
    </application>
    <connectionFactory jndiName="eis/cf">
     <properties.app1.MyEmbeddedRA serverName="localhost" portNumber="1234"/>
    </connectionFactory>
  • 如果要計算內嵌資源配接器的模組名稱,會優先採用資源配接器部署描述子 (ra.xml) 中的 <module-name> 項目作為模組名稱。例如,假設 ra.xml 中的定義如下:

    <connector ...> 
    	<module-name>MyRARModule</module-name> 
    </connector>

    則模組名稱會設為 "MyRARModule"。

    如果連接器部署描述子中沒有模組名稱,則會使用參照應用程式部署描述子 (application.xml) 中之資源配接器模組的 URI 簡短格式。例如,假設 application.xml 中的模組定義如下:

    <module>         
    	<connector>connectors/MyRARModule.rar</connector>     
    </module>

    則模組名稱會計算成 "MyRARModule"。

    如果應用程式中內嵌多個資源配接器,且定義相同的 <module-name> 值,則 application.xml 中列出的第一個資源配接器會使用該模組名稱。針對具有該相同衝突名稱的其他連接器,則會從完整格式的 URI 來計算其模組名稱,其中所有 /(正斜線)字元會轉換成句點。例如,如果應用程式內嵌的兩個連接器在 ra.xml 中都包含下列定義:

    <connector ...> 
    	<module-name>MyRARModule</module-name> 
    </connector>

    並且在 application.xml 中包含下列定義:

    <module>         
    	<connector>subfolder1/connector1.rar</connector>     
    </module>     
    <module>         
    	<connector>subfolder2/connector2.rar</connector>     
    </module>

    則第一個連接器的模組名稱為 "MyRARModule",而第二個連接器的模組名稱為 "subfolder2.connector2.rar"


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

檔名:twlp_jca_config_resadapters.html