配置 JCA 受管理物件

您可以配置遵守 Java™ EE 連接器架構 (JCA) 規格的受管理物件。

關於這項作業

您可以配置一或多個由所安裝之資源配接器提供的受管理物件實例。
註: 如果要配置 Liberty 的 JCA 支援,您必須使用 WebSphere® Application Server Developer Tools for Eclipse 的「伺服器配置」編輯器的「程式碼」視圖,或是其他文字編輯器,來編輯 server.xml 檔。此主題假設已在伺服器中配置唯一 ID 為 MyAdapter 的資源配接器,請參閱有關配置資源配接器的說明文件,以取得進一步的詳細資料。下列步驟中有提供配置基本實務範例的端對端範例。
註: 不支援在 WebSphere® Development Tools (WDT) 的「設計」視圖中,針對 Connection Factory、管理物件、啟動規格和資源配接器,編輯伺服器配置的內容子元素。

程序

  1. 更新 server.xml 檔案,在 featureManager 標籤底下新增 jca-1.6 特性。
    <featureManager>  
    	<feature>jca-1.6</feature> 
    	<feature>jndi-1.0</feature>  <!-- 新增 jndi 特性來啟用查閱 Connection Factory 和受管理物件。-->   
    		... 
    </featureManager>
  2. 安裝資源配接器。 例如,更新 server.xml 檔案,如下所示:
    <resourceAdapter location="C:/adapters/MyAdapter.rar"/>
  3. 配置一或多個受管理物件實例。 當您配置受管理物件實例時,即使不想置換任何配置內容,也必須提供 properties 子元素,以將 adminObject 元素與特定資源配接器提供的受管理物件類型建立關聯。在下列範例中,MyAdapter 資源配接器只提供一種受管理物件類型:
    <adminObject jndiName="eis/interactionSpec">
     <properties.MyAdapter functionName="find" executionTimeout="5000"/>
    </adminObject>
  4. (選用)若有需要,請識別可用的受管理物件內容子元素名稱。
    • 如果資源配接器單單提供一個受管理物件介面(不包括任何 JMS 目的地、佇列和主題),則子元素名稱是:properties.<rar_identifier>

    • 如果介面名稱是唯一的,且沒有套件名稱,則子元素名稱是:properties.<rar_identifier>.<InterfaceName>

    • 如果實作名稱是唯一的,且沒有套件名稱,則子元素名稱是:properties.<rar_identifier>.<ImplementationName>

    • 如果介面名稱與實作名稱的組合是唯一的,且沒有套件名稱,則子元素名稱是:properties.<rar_identifier>.<InterfaceName>-<ImplementationName>

    • 在其他情況下,子元素名稱是:properties.<rar_identifier>.<fully.qualified.InterfaceName>-<fully.qualified.ImplementationName>

範例

使用下列範例來了解,如何以具有唯一介面類別名稱的兩個受管理物件,來配置資源配接器。

ra.xml 檔案的下列 Snippet 中,MyAdapter 資源配接器提供具有唯一介面類別名稱的兩個受管理物件:

<adminobject>
<adminobject-interface>javax.resource.cci.ConnectionSpec</adminobject-interface>
<adminobject-class>com.vendor.adapter.ConnectionSpecImpl</adminobject-class>
<config-property> 
 <config-property-name>isolationLevel</config-property-name>
 <config-property-type>java.lang.Integer</config-property-type>
</config-property>
... 
</adminobject>

<adminobject>
<adminobject-interface>javax.resource.cci.InteractionSpec</adminobject-interface>
<adminobject-class>com.vendor.adapter.InteractionSpecImpl</adminobject-class>
<config-property>
 <config-property-name>FunctionName</config-property-name>
 <config-property-type>java.lang.String</config-property-type>
</config-property>
... 
</adminobject>
以下是適用於此實務的伺服器配置範例:
<adminObject jndiName="eis/connectionSpec">
 <properties.MyAdapter.ConnectionSpec isolationLevel="4"/>
</adminObject>

<adminObject jndiName="eis/interactionSpec">
 <properties.MyAdapter.InteractionSpec functionName="find"/>
</adminObject>

使用下列範例來了解,如何以具有唯一實作類別名稱的兩個受管理物件,來配置資源配接器。

ra.xml 檔案的下列 Snippet 中,MyAdapter 資源配接器提供具有唯一實作類別名稱的兩個受管理物件:

<adminobject>
<adminobject-interface>javax.resource.cci.InteractionSpec</adminobject-interface>
<adminobject-class>com.vendor.adapter.FinderInteractionSpec</adminobject-class>
<config-property>
 <config-property-name>ResultSetType</config-property-name>
 <config-property-type>java.lang.Integer</config-property-type>
</config-property> 
... 
</adminobject>

<adminobject>
<adminobject-interface>javax.resource.cci.InteractionSpec</adminobject-interface>
<adminobject-class>com.vendor.adapter.UpdaterInteractionSpec</adminobject-class> 
<config-property> 
 <config-property-name>ExecutionTimeout</config-property-name>
 <config-property-type>java.lang.Long</config-property-type> 
</config-property>
...
</adminobject>
以下是適用於此實務的伺服器配置範例:
<adminObject jndiName="eis/finder">
 <properties.MyAdapter.FinderInteractionSpec resultSetType="1003"/>
</adminObject>

<adminObject jndiName="eis/updater">
 <properties.MyAdapter.UpdaterInteractionSpec executionTimeout="3000"/>
</adminObject>

使用下列範例來了解,如何以簡式介面和實作類別名稱都不是唯一的兩個受管理物件,來配置資源配接器。

ra.xml 檔案的下列 Snippet 中,MyAdapter 資源配接器提供兩個受管理物件,其中簡式介面和實作類別名稱都不是唯一的:

<adminobject>
<adminobject-interface>javax.resource.cci.InteractionSpec</adminobject-interface>
<adminobject-class>com.vendor.adapter.finder.InteractionSpecImpl</adminobject-class>
<config-property> 
 <config-property-name>ResultSetType</config-property-name>
 <config-property-type>java.lang.Integer</config-property-type>
</config-property>
... 
</adminobject>

<adminobject>
<adminobject-interface>javax.resource.cci.InteractionSpec</adminobject-interface>
<adminobject-class>com.vendor.adapter.updater.InteractionSpecImpl</adminobject-class>
<config-property> 
 <config-property-name>ExecutionTimeout</config-property-name>
 <config-property-type>java.lang.Long</config-property-type>
</config-property>
...
</adminobject>
以下是適用於此實務的伺服器配置範例:
<adminObject jndiName="eis/finder">
 <properties.MyAdapter.javax.resource.cci.InteractionSpec-com.vendor.adapter.finder.InteractionSpecImpl resultSetType="1003"/>
</adminObject> 

<adminObject jndiName="eis/updater"> 
 <properties.MyAdapter.javax.resource.cci.InteractionSpec-com.vendor.adapter.updater.InteractionSpecImpl executionTimeout="3000"/>
</adminObject>

您可以置換配置元素名稱的字尾。請參閱自訂 JCA 配置元素的相關資訊,以了解如何置換配置元素名稱的字尾。


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

檔名:twlp_jca_config_admobj.html