If 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.
The relational resource adapter does not generally allow direct access
to resource provider classes, so these restrictions will typically only affect
modules that implement the com.ibm.websphere.rsadapter.WSCallHelper class.
For mail providers, these restrictions will most likely be in place, because
the javax.mail API relies heavily on classes rather than interfaces. Therefore,
the implementation details are necessarily part of the API.