JCA 配置元素概述
Java Platform, Enteprise Edition 连接器体系结构 (JCA) 功能部件提供了配置元素来定义连接工厂、受管对象和激活规范的实例,并使这些实例与已安装的资源适配器相关联。每个 JCA 配置元素都由两个基本部分(顶级元素和子元素)组成,这两部分是所配置的实例必需的。
顶级元素用于配置 Liberty 服务器提供的一般功能,例如,JNDI 名称、连接管理和容器认证。子元素将该实例与已安装资源适配器进行绑定,并使您能够指定供应商定义的配置属性。
通用 JCA 预定义的顶级配置元素:
- connectionFactory
- adminObject
- activationSpec
如果已启用 JMS 功能部件,那么还有用于 JMS 的预定义的通用配置元素:
- jmsConnectionFactory
- jmsQueueConnectionFactory
- jmsTopicConnectionFactory
- jmsDestination
- jmsQueue
- jmsTopic
- jmsActivationSpec
安装了资源适配器时,从资源适配器部署描述符和注释生成子元素。在可用服务器配置元素的静态文档中,您将看不到可用子元素的任何文档。
请按照下列规则来生成服务器配置子元素的名称:
注: 在下列示例中,<rar_identifier> 是在 resourceAdapter 配置元素的位置属性中指定的文件名,不含扩展名或目录路径信息。
- 如果资源适配器仅提供所列出类别的其中一个接口,例如,connectionFactory 或 adminObject,那么子元素为:properties.<rar_identifier>
- 如果接口名称是唯一的,且不具有软件包名称,那么子元素为:properties.<rar_identifier>.<InterfaceName>
- 如果实现名称是唯一的,并且没有软件包名称,那么子元素为:properties.<rar_identifier>.<ImplementationName>
- 在其他情况下,子元素名称为 properties.<rar_identifier>.<fully.qualified.InterfaceName> 或 properties.<rar_identifier>.<fully.qualified.ImplementationName>
以下示例说明了由一个标识为 MyAdapter 的资源适配器提供的每个类别的一个接口的情况:
<connectionFactory jndiName="eis/cf1" containerAuthDataRef="auth1">
<properties.MyAdapter portNumber="1234" someVendorProperty="100"/>
</connectionFactory>
<connectionFactory jndiName="eis/cf2" containerAuthDataRef="auth2">
<properties.MyAdapter portNumber="1234" someVendorProperty="200"/>
</connectionFactory>
<jmsConnectionFactory jndiName="jms/cf">
<properties.MyAdapter serverName="localhost" anotherProperty="40"/>
</jmsConnectionFactory>
<jmsQueueConnectionFactory jndiName="jms/qcf">
<properties.MyAdapter serverName="localhost" vendorProp1="1"/>
</jmsQueueConnectionFactory>
<jmsTopicConnectionFactory jndiName="jms/tcf">
<properties.MyAdapter serverName="localhost" prop1="A" prop2="B"/>
</jmsTopicConnectionFactory>
<adminObject jndiName="eis/interactionSpec">
<properties.MyAdapter functionName="find" executionTimeout="5000"/>
</adminObject>
<jmsDestination jndiName="jms/destination1">
<properties.MyAdapter name="DEST1"/>
</jmsDestination>
<jmsQueue jndiName="jms/queue1">
<properties.MyAdapter queueName="QUEUE1"/>
</jmsQueue>
<jmsTopic id="topic1" jndiName="jms/topic1">
<properties.MyAdapter topicName="TOPIC1"/>
</jmsTopic>
<activationSpec id="app1/module1/MyMessageDrivenBean">
<properties.MyAdapter prop1="a" prop2="b" prop3="c"/>
</activationSpec>
<jmsActivationSpec id="app1/module1/MyJMSMessageDrivenBean">
<properties.MyAdapter destinationRef="topic1"/>
</jmsActivationSpec>