Search code examples
oracle-databasedeploymentwebspherefilenet-p8filenet-content-engine

Deploying ojdbc14.jar in a code module for a FileNet code module


I'm trying to deploy a couple of jar files in a code module for an event action in FileNet P8 4.0 (the FileNet server runs on WebSphere 6.1). One of these jars is my custom code, and the other jar is the thin driver for Oracle called ojdbc14.jar (I also tried with ojdbc15.jar), the custom code uses the oracle jar in order to connect to a data source and get a connection using the JNDI name.

When the event action is executed (after a subscription is invoked) the code in my custom module is called OK, the problem occurs when my code needs to load classes from the Oracle jar, I get this cause:

ERROR - Mon Sep 21 16:42:17 UTC 2009 - com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. [Root exception is java.lang.reflect.InvocationTargetException] at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookupExt(Helpers.java:1000) at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookup(Helpers.java:705) at com.ibm.ws.naming.jndicos.CNContextImpl.processResolveResults(CNContextImpl.java:2093)

...

Caused by: java.lang.NoClassDefFoundError: oracle.jdbc.driver.OracleLog at com.ibm.ws.rsadapter.dbutils.impl.OracleUtilityImpl.setLogVolume(OracleUtilityImpl.java:85) at com.ibm.ws.rsadapter.spi.InternalOracleDataStoreHelper.setProperties(InternalOracleDataStoreHelper.java:142) at com.ibm.ws.rsadapter.spi.WSRdbDataSource.(WSRdbDataSource.java:846) at com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.setDataSourceProperties(WSManagedConnectionFactoryImpl.java:1947) ... 43 more

...

Caused by: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleLog at java.net.URLClassLoader.findClass(URLClassLoader.java:496) at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:132) at java.lang.ClassLoader.loadClass(ClassLoader.java:631) at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:87) at java.lang.ClassLoader.loadClass(ClassLoader.java:597) ... 48 more

Since I'm deploying the oracle jar with the code module, shouldn't FileNet should be able to find the class? Do you think I need to configure something else?

Thanks in advance.


Solution

  • I found the problem... somehow the ojdbc14.jar file got corrupted, so even when the classpath was correct and no matter what I tried to fix the problem, the problem was always there.

    Thanks for the comments!