![[8.5.5.2 或更新版本]](../ng_v8552.gif)

配置資源配接器
您可以配置遵守 Java™ EE 連接器架構 (JCA) 規格 1.6、1.5 或 1.0 版的資源配接器。
關於這項作業
您可以依照 JCA 規格中的定義來安裝和配置資源配接器,以及各種 Connection Factory、受管理物件和啟動規格。
程序
範例
資源配接器需要有唯一 ID,以將所配置之 Connection Factory、受管理物件和啟動規格的實例,識別為與所安裝的資源配接器相關聯。若為獨立式資源配接器,會以模組名稱作為 ID。若為內嵌在應用程式中的資源配接器,會以應用程式名稱加模組名稱(以句點字元定界)作為 ID。
如果要指定獨立式資源配接器的內容,並使用包含資源配接器 ID 為 MyAdapter 的 properties.MyAdapter 子元素:
<resourceAdapter location="C:/adapters/MyAdapter.rar"> <properties.MyAdapter logFile="${server.output.dir}/logs/myAdapter.log"/> </resourceAdapter>
使用包含資源配接器 ID 為 MyAdapter 的 properties.MyAdapter 子元素,將 Connection Factory 與獨立式資源配接器建立關聯:
<resourceAdapter location="C:/adapters/MyAdapter.rar"/> <connectionFactory jndiName="eis/cf"> <properties.MyAdapter serverName="localhost" portNumber="1234"/> </connectionFactory>
如果要將 Connection Factory 與 app1 應用程式中所啟用的資源配接器 MyEmbeddedAdapter 建立關聯,並使用 properties.app1.MyEmbeddedAdapter 子元素:
<application location="C:/applications/app1.ear"/> <connectionFactory jndiName="eis/cf"> <properties.app1.MyEmbeddedAdapter serverName="localhost" portNumber="1234"/> </connectionFactory>
在某些情況下,模組名稱的唯一性不足以作為 ID。例如,如果您安裝相同資源配接器的兩個不同版本,就可能會發生這種情況。或者,模組名稱可能是唯一的,但是因為太長或包含非英數字元,而不適用於配置中。您可以指定 ID 屬性來置換資源配接器 ID。
下列範例示範如何置換獨立式資源配接器的 ID:
<resourceAdapter id="MyAdapterV1" location="C:/adapters/version-1.0/MyAdapter.rar"/> <resourceAdapter id="MyAdapterV2" location="C:/adapters/version-2.0/MyAdapter.rar"/> <connectionFactory jndiName="eis/cf1"> <properties.MyAdapterV1 serverName="localhost" portNumber="1234"/> </connectionFactory> <connectionFactory jndiName="eis/cf2"> <properties.MyAdapterV2 serverName="localhost" portNumber="1234"/> </connectionFactory>
下列範例示範如何置換內嵌在應用程式中之資源配接器的 ID。此範例會將 ID 變更為 MyEmbeddedRA:
<application location="C:/applications/app1.ear"> <resourceAdapter id="MyEmbeddedAdapter" alias="MyEmbeddedRA"/> </application> <connectionFactory jndiName="eis/cf"> <properties.app1.MyEmbeddedRA serverName="localhost" portNumber="1234"/> </connectionFactory>
如果要計算內嵌資源配接器的模組名稱,會優先採用資源配接器部署描述子 (ra.xml) 中的 <module-name> 項目作為模組名稱。例如,假設 ra.xml 中的定義如下:
<connector ...> <module-name>MyRARModule</module-name> </connector>
則模組名稱會設為 "MyRARModule"。
如果連接器部署描述子中沒有模組名稱,則會使用參照應用程式部署描述子 (application.xml) 中之資源配接器模組的 URI 簡短格式。例如,假設 application.xml 中的模組定義如下:
<module> <connector>connectors/MyRARModule.rar</connector> </module>
則模組名稱會計算成 "MyRARModule"。
如果應用程式中內嵌多個資源配接器,且定義相同的 <module-name> 值,則 application.xml 中列出的第一個資源配接器會使用該模組名稱。針對具有該相同衝突名稱的其他連接器,則會從完整格式的 URI 來計算其模組名稱,其中所有 /(正斜線)字元會轉換成句點。例如,如果應用程式內嵌的兩個連接器在 ra.xml 中都包含下列定義:
<connector ...> <module-name>MyRARModule</module-name> </connector>
並且在 application.xml 中包含下列定義:
<module> <connector>subfolder1/connector1.rar</connector> </module> <module> <connector>subfolder2/connector2.rar</connector> </module>
則第一個連接器的模組名稱為 "MyRARModule",而第二個連接器的模組名稱為 "subfolder2.connector2.rar"