The examples in this technote show the use of an Oracle
Database; however, it applies to all database types that WebSphere
supports.
Error:
[02.08.21 06:53:25:390 EDT] 7d95ccfb PortabilityLa X CONM7005E: The class
(oracle.jdbc.pool.OracleConnectionPoolDataSource) does not implement
javax.sql.ConnectionPoolDataSource or javax.sql.XADataSource
[02.08.21 06:53:25:438 EDT] 7d95ccfb ExceptionUtil X CNTR0019E:
Non-application exception occurred while processing method
findByPrimaryKey: java.rmi.RemoteException: ; nested exception is:
java.sql.SQLException: CONM7005E: The class
(oracle.jdbc.pool.OracleConnectionPoolDataSource) does not implement
javax.sql.ConnectionPoolDataSource or javax.sql.XADataSource
java.sql.SQLException: CONM7005E: The class
(oracle.jdbc.pool.OracleConnectionPoolDataSource) does not implement
javax.sql.ConnectionPoolDataSource or javax.sql.XADataSource at
com.ibm.ejs.cm.portability.PortabilityLayerImpl.getDataSource(PortabilityLayerImpl.java:688)
at
com.ibm.ejs.cm.JDBC1PhaseRF.createConnectionFactory(JDBC1PhaseRF.java:64)
at com.ibm.ejs.cm.DataSourceImpl.getSource(DataSourceImpl.java:154) at
com.ibm.ejs.cm.DataSourceImpl.getConnection(DataSourceImpl.java:99) at
com.ibm.ejs.ns.CosNaming.BindingBean.ejbFindByPrimaryKey(BindingBean.java:336)
at
com.ibm.ejs.ns.CosNaming.EJSBMPBindingHomeBean.findByPrimaryKey(EJSBMPBindingHomeBean.java:28)
at
com.ibm.ejs.ns.CosNaming.EJSRemoteBMPBindingHome.findByPrimaryKey(EJSRemoteBMPBindingHome.java:81)
at
com.ibm.ejs.ns.CosNaming._BindingHome_Stub.findByPrimaryKey(_BindingHome_Stub.java:337)
at
com.ibm.ejs.ns.CosNaming.EJBDataStore.resolve(EJBDataStore.java:318) at
com.ibm.ejs.ns.CosNaming.NsSessionBean.getBindingBean(NsSessionBean.java:101)
at
com.ibm.ejs.ns.CosNaming.EJSRemoteStatelessNsSession.getBindingBean(EJSRemoteStatelessNsSession.java:53)
at
com.ibm.ejs.ns.CosNaming._NsSession_Stub.getBindingBean(_NsSession_Stub.java:504)
at
com.ibm.ejs.ns.CosNaming.NsSessionDataStore.resolve(NsSessionDataStore.java:121)
at
com.ibm.ws.naming.rdbcos.WsnOptimizedNamingImpl.do_resolve_complete_info(WsnOptimizedNamingImpl.java:725)
at
com.ibm.ws.naming.cosbase.WsnOptimizedNamingImplBase.resolve_complete_info(WsnOptimizedNamingImplBase.java:740)
at
com.ibm.ws.naming.cosbase.WsnCosTreeInitializer.getNamingContext(WsnCosTreeInitializer.java:145)
at
com.ibm.ws.naming.cosbase.WsnCosTreeInitializer.createUpperTreeStructure(WsnCosTreeInitializer.java:84)
at
com.ibm.ws.naming.bootstrap.NameServer.createCosUpperTreeStructure(NameServer.java:389)
at
com.ibm.ws.naming.bootstrap.NameServer.completeRdbCosInitialization(NameServer.java:507)
at
com.ibm.ws.naming.rdbcos.WsnOptimizedNamingImpl.ifNSBeanHomeHackTheBind(WsnOptimizedNamingImpl.java:1075)
at
com.ibm.ws.naming.rdbcos.WsnOptimizedNamingImpl.do_rebind_corba_object(WsnOptimizedNamingImpl.java:461)
at
com.ibm.ws.naming.cosbase.WsnOptimizedNamingImplBase.rebind_corba_object_with_options(WsnOptimizedNamingImplBase.java:459)
at
com.ibm.ws.naming.cosbase.WsnOptimizedNamingImplBase.rebind_corba_object(WsnOptimizedNamingImplBase.java:433)
at
com.ibm.ejs.ns.jndi.CNContextImpl.cosRebindCorbaObject(CNContextImpl.java:2791)
at
com.ibm.ejs.ns.jndi.CNContextImpl.doRebind(CNContextImpl.java:1808) at
com.ibm.ejs.ns.jndi.CNContextImpl.rebind(CNContextImpl.java:566) at
com.ibm.websphere.naming.JndiHelper.recursiveBind(JndiHelper.java:503) at
com.ibm.websphere.naming.JndiHelper.recursiveRebind(JndiHelper.java:317)
at com.ibm.ws.runtime.EJBEngine.addEjbModule(EJBEngine.java:452) at
com.ibm.ws.runtime.Server.startModule(Server.java:605) at
com.ibm.ejs.sm.active.ActiveModule.startModule(ActiveModule.java:509) at
com.ibm.ejs.sm.active.ActiveModule.startAction(ActiveModule.java:355) at
com.ibm.ejs.sm.active.ActiveObject.startObject(ActiveObject.java:709) at
com.ibm.ejs.sm.active.ActiveObject.start(ActiveObject.java:131) at
com.ibm.ejs.sm.active.ActiveObject.operateOnContainedObjects(ActiveObject.java:609)
at
com.ibm.ejs.sm.active.ActiveEJBServer.startAction(ActiveEJBServer.java:730)
at com.ibm.ejs.sm.active.ActiveObject.startObject(ActiveObject.java:709)
at com.ibm.ejs.sm.active.ActiveObject.start(ActiveObject.java:131) at
java.lang.reflect.Method.invoke(Native Method) at
com.ibm.ejs.sm.agent.AdminAgentImpl.activeObjectInvocation(AdminAgentImpl.java:93)
at
com.ibm.ejs.sm.agent.AdminAgentImpl.invokeActiveObject(AdminAgentImpl.java:62)
at
com.ibm.ejs.sm.server.AdminServer.startContainers(AdminServer.java:1386)
at
com.ibm.ejs.sm.server.AdminServer.initializeRuntime0(AdminServer.java:1108)
at com.ibm.ws.runtime.Server.initializeRuntime(Server.java:882) at
com.ibm.ejs.sm.server.AdminServer.main(AdminServer.java:391) at
java.lang.reflect.Method.invoke(Native Method) at
com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:158)
Possible Causes
- WebSphere issues the error message when trying to do some
introspection on the class that is configured to be sure the database
driver is supported by the version of their database.
- The resource properties in the admin.config file might be wrong; for
example, pointing to locations that are not valid, or having typing errors
in sections.
- More than one instance of JDBC™ Driver's jar file (such as
classes12.zip for Oracle) in the CLASSPATH.
- More than one instance of classes12.zip in your WASHOME
directory and sub-directories.
Resolution
- Check with the database administrator (DBA) to ensure that the version
of database driver is correct for the version they are running.
Downloading the latest driver from their database's Web site frequently
resolves the issue. If the problem is not resolved, this step simplifies
further problem resolution.
Example: Oracle 8.1.7.4 is the first version to support
javax.sql.XADataSource.
- Ensure that all the resource properties are set up properly in the
admin.config file, such as the server name, URL, and port number.
Use the following implementation class:
Oracle.jdbc.pool.OracleConnectionPoolDataSource
Example:
com.ibm.ejs.sm.adminServer.dbdataSourceClassName=Oracle.jdbc.pool.OracleConnectionPoolDataSource.
- Ensure the classes12.zip file doesn't exist more than once in the
classpath.
Example:
com.ibm.ejs.sm.adminserver.classpath=/ora8174/oracle/jdbc/lib/classes12.zip:/usr/WebSphere/AppServer/properties:/usr/WebSphere/AppServer/lib/bootstrap.jar.
- There can only be one copy of JDBC driver's jar file (that is,
classes12.zip) in WebSphere's WASHOME directory structure.
|