[8.5.5.2 或更高版本]Liberty Repository

配置 JCA 受管对象

您可以配置符合 Java™ EE 连接器体系结构 (JCA) 规范的受管对象。

关于此任务

您可以配置安装的资源适配器提供的受管对象的一个或多个实例。
注: 要为 Liberty 概要文件配置 JCA 支持,必须使用WebSphere® Application Server Developer Tools for Eclipse 的服务器配置编辑器的“源”视图或某个其他文本编辑器来编辑 server.xml 文件。本主题假定在服务器中已配置具有唯一标识 MyAdapter 的资源适配器,请参阅有关配置资源适配器的文档以获取更多详细信息。以下步骤中提供了配置基本场景的端到端示例。
注: 不支持在 WebSphere® Development Tools (WDT) 的“设计”视图中编辑连接工厂、管理对象、激活规范和资源适配器的服务器配置的属性子元素。

过程

  1. 更新 server.xml 文件以在 featureManager 标记下添加 jca-1.6 功能部件。
    <featureManager>
    	<feature>jca-1.6</feature> 
    	<feature>jndi-1.0</feature>  <!-- Add the jndi feature to enable look up of connection factories and administered objects. -->   
    		... 
    </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 文件中的以下片段中,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 文件中的以下片段中,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 文件的以下片段中,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 配置元素的信息以了解如何覆盖配置元素名称的后缀。


用于指示主题类型的图标 任务主题

信息中心的条款和条件 | 反馈


时间戳记图标 最近一次更新时间: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_jca_config_admobj
文件名:twlp_jca_config_admobj.html