JCA 配置元素概觀
「Java Platform Enteprise Edition 連接器架構 (JCA)」特性提供配置元素,以定義 Connection Factory、受管理物件和啟動規格的實例,並讓這些實例與已安裝的資源配接器產生關聯。 每一個 JCA 配置元素由兩個基本組件組成:最上層元素和子元素,所配置的實例必須同時具備這兩個元素。
最上層元素 會配置 Liberty 伺服器所提供的一般功能,例如 JNDI 名稱、連線管理及儲存器鑑別。 子元素會將實例連結至所安裝的資源配接器,並且可讓您指定供應商定義的配置內容。
一般 JCA 預先定義的最上層配置元素:
- connectionFactory
- adminObject
- activationSpec
如果已啟用 JMS 特性,也會有適用於 JMS 的預先定義的一般配置元素:
- jmsConnectionFactory
- jmsQueueConnectionFactory
- jmsTopicConnectionFactory
- jmsDestination
- jmsQueue
- jmsTopic
- jmsActivationSpec
子元素是在您安裝資源配接器時,從資源配接器的部署描述子和註釋產生而來。 在可用伺服器配置元素的靜態說明文件中,您不會看到可用子元素的任何說明文件。
請使用下列規則來產生伺服器配置子元素的名稱:
附註: 在下列範例中,
<rar_identifier>
是 resourceAdapter 配置元素的 location 屬性中指定的檔名,不含副檔名或目錄路徑資訊。- 如果資源配接器在其中一個列出的種類中,例如 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>
下列範例說明 ID 為 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>