关于此任务
可以在多个 Java EE 应用程序之间共享独立资源适配器类和资源。缺省情况下,Java EE 应用程序可访问 JCA 规范 API,但不能访问独立资源适配器的供应商类和资源。启用此访问的先决条件是必须在服务器配置中同时配置了资源适配器和应用程序。
在以下示例中,名为 Scholar 的应用程序和名为 Student 的应用程序在名为 Academy 的服务器上运行。这两个应用程序均需要对名为 Socrates16 的资源适配器的访问权,此资源适配器在位于 C:/adapters/version-1.6 目录中的 socrates.rar 文件中提供。
- 配置独立资源适配器。
在 server.xml 文件中,通过添加下列代码来配置独立资源适配器:
<resourceAdapter id="Socrates16" location="C:/adapters/version-1.6/socrates.rar" />
- 从应用程序引用资源适配器,以便两个应用程序均可访问资源适配器模块中提供的类和资源。
在 server.xml 文件中,通过添加以下代码在应用程序的类装入配置中将 classProviderRef 属性设置为资源适配器的标识:
<application id="scholar" name="Scholar" type="ear" location="scholar.ear">
<classloader classProviderRef="Socrates16" />
</application>
<application id="student" name="Student" type="ear" location="student.ear">
<classloader classProviderRef="Socrates16" />
</application>
- 可选:配置独立资源适配器的类装入,以访问第三方 API。
缺省情况下,资源适配器和 Java 应用程序都不能访问第三方 API。无论何时应用程序的类装入配置需要访问第三方 API 以及应用程序需要访问独立资源适配器,请将资源适配器的类装入配置为也可访问第三方 API。
在 server.xml 文件中,通过添加以下代码将资源适配器的类装入配置的 apiTypeVisibility 属性配置为可访问第三方 API:
<resourceAdapter id="Socrates16" location="C:/adapters/version-1.6/socrates.rar">
<classloader apiTypeVisibility="spec, ibm-api, api, third-party" />
<resourceAdapter/>
<application id="scholar" name="Scholar" type="ear" location="scholar.ear">
<classloader classProviderRef="Socrates16" apiTypeVisibility="spec, ibm-api, api, third-party" />
</application>
<application id="student" name="Student" type="ear" location="student.ear">
<classloader classProviderRef="Socrates16" apiTypeVisibility="spec, ibm-api, api, third-party" />
</application>