|
Problem(Abstract) |
Multiple versions of a stand-alone RAR (Resource Adapter
archive) should not be installed on the same node because they share a
common classloader. |
|
|
|
Resolving the
problem |
Resource adapters (RARs) installed on a node and not
packaged within an EAR share the same classloader. Therefore, if a newer
version of a resource adapter uses the same package names, name collisions
could result in unspecified behavior.
Exceptions such as InvalidClassCastException could be thrown, or there
could be much more subtle indications. For example, properties set on one
connection factory may be used by another connection factory instead, when
the two connection factories are configured to respective resource
adapters which differ only in content but not in package names.
Besides the resource adapter executable code, it could have other
libraries which are installed. These too are not isolated when different
versions of the resource adapter are installed, so similar conflicts
arise.
Versioning support of resource adapters is not supported at this time. The
recommended procedure for upgrading a resource adapter is as follows:
- Stop any applications which have resource references to a connection
factory defined for the resource adapter.
- Note any configuration settings desired on the resource adapter and
its connection factories.
- Delete the resource adapter. This removes the connection factories
configured for that resource adapter.
- Install the newer resource adapter.
- Configure connection factories.
There are ways for multiple versions of a resource adapter to work in a
WebSphere installation. If installed on separate nodes, the classloader
conflict is not an issue since each version has its own classloader. A
version of a resource adapter can be packaged as an embedded RAR within an
application that needs to use that particular version. Such an embedded
resource adapter can coexist with any number of similar versions if they
are also packaged within separate application EAR files. A single
stand-alone RAR version can coexist with any number of other RAR versions
which are packaged within applications. |
|
|
|
|
Cross Reference information |
Segment |
Product |
Component |
Platform |
Version |
Edition |
Application Servers |
Runtimes for Java Technology |
Java SDK |
|
|
|
|
|
|