WebLogic Server Frequently Asked Questions
A. The sample provided contains a resource adapter that represents any database system. By default, configurations are set to use PointBase. In particular, the configuration properties in the
weblogic-ra.xml file set a PointBase datasource. This can be replaced with Oracle settings.
Also, the resource adapter (in particular the
ManagedConnectionFactory) must be implemented to support Oracle. The resource adapter provided in this sample makes use of the JDBC and therefore can support any database system which the resource adapter is configured to represent.
For instance, I am deploying an EJB and a resource adapter (.rar), the EJB has no dependencies on the
.rar because the EJB is writing to the common client interface (CCI). The EJB client application has sends/marshals as parameter classes that are defined in the
.rar. For some reason the EJB's class loader hierarchy cannot find the definition of this
.rar-specific class, even though the
.rar is deploying successfully. I receive the following error on the EJB client:
A. When you pass an instance of
com.myclientcompany.server.eai.InteractionSpecImpl as an argument to your EJB, the
appServer needs to de-serialize (unmarshal) the object under the EJB context, and it needs the required class for unmarshalling, inside the
raTester.jar). So if you include the
interactionspecimpl class in your
ejb-jar file, then you do not need to include those classes in your server's classpath.
A. Yes. The BEA
com.bea.adapter.cci.AbstractConnection; this in turn implements the Connection interface. The Proxy is constructed using the interfaces from the most-derived class (
dumpFamilyTree printout shows that the
getInterfaces call on the
ConnectionImpl class does NOT include the Connection interface. However, the
getInterfaces call on
AbstractConnection does include the Connection interface.
The work-around is that the
ConnectionImpl class must directly implement the interface class specified in the
ra.xml file. (This might be a redundant statement in the code, particularly if it extends a class that has already implemented the class.) Then rebuild the adapter and try your test again.