Administrative Server fails to start due to connection pool error
 Technote (FAQ)
 
Problem
The WebSphere® Application Server administrative server process attempts to obtain a connection from the connection pool. Error message "CONM7005E: The class (oracle.jdbc.driver.OracleDriver) does not implement javax.sql.ConnectionPoolDataSource or javax.sql.XADataSource" indicates a connection pooling error.
 
Solution
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

  1. 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.
  2. 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.
  3. More than one instance of JDBC™ Driver's jar file (such as classes12.zip for Oracle) in the CLASSPATH.
  4. More than one instance of classes12.zip in your WASHOME directory and sub-directories.

Resolution

  1. 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.
  2. 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.
  3. 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.

  4. There can only be one copy of JDBC driver's jar file (that is, classes12.zip) in WebSphere's WASHOME directory structure.
 
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > Java 2 Connectivity (J2C)
Operating system(s): Windows
Software version: 4.0
Software edition:
Reference #: 1170377
IBM Group: Software Group
Modified date: Mar 27, 2006