|
Please wait while updating issue type...
Could not save your changes
This issue has been changed since you started editing it
Data that has been changed is highlighted in red below. Undo your changes to see the updated information
You have changed this issue, but haven't saved your changes yet. To save it, press the Save changes button to the right
This issue is blocking the next release
There are no comments
There is nothing attached to this issue
This issue has no duplicates
There are no code checkins for this issue |
|||||||||||||||||||||||||||||||||||
Really delete this comment?
Really delete this comment?
Really delete this comment?
- when the node sends a class loading request for the jdbc connection wrapper class (weblogic/jdbc/rmi/internal/..._oracle_jdbc_driver_LogicalConnection_RemoteInterface.class), the JPPF code looks it up using the Weblogic class loader for the JCA connector (a weblogic.utils.classloaders.ChangeAwareClassLoader), using the getResource() method, which returns a single URL pointing to the class file.
- for this connection class, getResource() actually returns "file:/<WL_HOME>/modules/com.bea.core.utils.wrapper_1.4.0.0.jar". So this is what was returned to the node. It also explains both the ClassFormatError and the "Incompatible magic value 1347093252" message, since 1347093252 is the 4-bytes signature of a zip (or jar) file.
- however, when using the getResources() method to lookup the same class, this returns an empty Enumeration of URLs, which is the expected behavior. This will cause the node class loader to throw a ClassNotFoundException, which is caught by the Weblogic code in wlfullclient.jar, and then the Weblogic code will actually generate this class.
The fix is to use cl.getResources() instead of cl.getResource() in org.jppf.classloader.ResourceProvider.getResource(String resName, ClassLoader classLoader).Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?