关于此任务
多个 Java EE 应用程序可以共享独立资源适配器类和资源。缺省情况下,Java EE 应用程序无法访问独立资源适配器。要启用此访问,必须在服务器配置中同时配置了资源适配器和应用程序。
在以下示例中,一个名为 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>