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>