자원 어댑터 구성
JCA(Java™ EE Connector Architecture) 스펙 버전 1.6, 1.5 또는 1.0을 충족하는 자원 어댑터를 구성할 수 있습니다.
이 태스크 정보
JCA 스펙에서 정의된 것처럼 자원 어댑터와 다양한 연결 팩토리, 관리 오브젝트 및 활성화 스펙을 설치하고 구성할 수 있습니다.
프로시저
예
자원 어댑터의 고유 ID는 설치된 자원 어댑터와 연결될 때 연결 팩토리, 관리 오브젝트 및 활성화 스펙의 구성된 인스턴스를 식별하기 위해 필요합니다. 독립형 자원 어댑터의 경우, 모듈 이름이 ID로 사용됩니다. 애플리케이션에 임베드된 자원 어댑터의 경우, 애플리케이션 이름의 조합 더하기 모듈 이름(마침표 문자로 구분된)이 ID로 사용됩니다.
자원 어댑터 ID MyAdapter를 포함하는 properties.MyAdapter 하위 요소를 사용하여 독립형 자원 어댑터의 특성을 지정:
<resourceAdapter location="C:/adapters/MyAdapter.rar"> <properties.MyAdapter logFile="${server.output.dir}/logs/myAdapter.log"/> </resourceAdapter>
자원 어댑터 ID MyAdapter를 포함하는 a.MyAdapter 하위 요소를 사용하여 연결 팩토리를 독립형 자원 어댑터와 연관:
<resourceAdapter location="C:/adapters/MyAdapter.rar"/> <connectionFactory jndiName="eis/cf"> <properties.MyAdapter serverName="localhost" portNumber="1234"/> </connectionFactory>
properties.app1.MyEmbeddedAdapter 하위 요소를 사용하여 연결 팩토리를 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"이 됩니다.