Considerations for isolated resource providers
There are some design considerations that you should be aware of when working with resource providers that you have specified to be isolated in their own class loaders.
Be aware of the following issues that you need to address if you isolate
a resource provider in it's own class loader:
- Client container
The client container does not manage the class path of resource providers, so resource providers that are isolated will not be supported in the client container.
- Multiple resource provider versions per application
If an application refers to resources from multiple versions or implementations of the same resource provider, then all of the resource providers that are referenced must be isolated.
- References to isolated resource provider classesIf a module directly refers to classes that are loaded by an isolated resource provider, which means the module has import statements of resource provider classes, the following restrictions are in place:
- The module can only refer to resources from one version or implementation of an isolated resource provider. This is an inherent class loading restriction, because a module class loader can only refer to one version of a class.
- The module cannot perform direct JNDI lookup without the use of Java EE resource reference meta-data. This restriction is required, because without resource reference metadata the application server has no mechanism to link the class loader of the module to the class loader of the isolated resource provider.