DBCP Connection pooling apparently failing!

I am trying out the following code per directions from DBCP site, but the output indicates that after I call con.close(), the con.isClosed() return true. Does that mean that DBCP is not working the way I am setting it up or what? Please help!
try
      Class.forName("oracle.jdbc.OracleDriver");
      StackObjectPool pool=new StackObjectPool(2);
      DriverManagerConnectionFactory confactory=new DriverManagerConnectionFactory(url,null);
      PoolableConnectionFactory poolconfactory=new PoolableConnectionFactory(confactory,pool,new StackKeyedObjectPoolFactory(2),null,false,true);
      PoolingDataSource source=new PoolingDataSource(pool);
      Connection con=source.getConnection();
      PreparedStatement stat=con.prepareStatement("select * from employee");
      stat.executeQuery();
      System.out.println(con.isClosed());
      stat.close();
      con.close();
      System.out.println(con.isClosed());
    catch (Exception ex)
      ex.printStackTrace();
    }

Does that mean that DBCP is not working the way I am
setting it up or what? Please help!It's probably working the way it should. The DBCP is probably wrapping the OracleConnection in its own wrapper. When you close the wrapper, it just changes its internal state to say it is closed but doesn't actually close the OracleConnection it has a reference to internally.
Try seeing what class con really is:
System.out.println(con.getClass().getName());Whatever class that is, it probably has a method to get the real connection so that you can make OracleConnection specific calls. If it does, type cast it to the implementor's Connection Class and get the real internal connection from con before you close it and then check its class name. After you close the con check the isClosed method on the internal OracleConnection.

Similar Messages

  • Problem in DBCP Connection Pooling with BLOB in Tomcat

    Hi All,
    I am using the DBCP connection pooling in tomcat server version 6.0.18.
    I have session table which maintains the session details of the user in BLOB column. Recently I am facing a problem. When a user logs in, I am storing the session details in the DB. It throws an exception like this. When I restart the tomcat, it just works fine. But after some days it is again throwing the same exception.
    Code:
    2009-01-27 06:03:13,789 DEBUG [org.springframework.jdbc.core.JdbcTemplate] - Executing prepared SQL statement [INSERT INTO SESSION (SESSION_CODE,LAST_ACCESS,VALID_SESSION,SESSION_DATA) VALUES(?,?,?,?)]
    2009-01-27 06:03:13,789 DEBUG [org.springframework.transaction.support.TransactionSynchronizationManager] - Retrieved value [org.springframework.jdbc.datasource.ConnectionHolder@154136a] for key [org.apache.commons.dbcp.BasicDataSource@bdec44] bound to thread [http-8443-6]
    2009-01-27 06:03:13,789 DEBUG [org.springframework.jdbc.core.StatementCreatorUtils] - Setting SQL statement parameter value: column index 1, parameter value [c2896a488efb7fe15430fab10d502577], value class [java.lang.String], SQL type unknown
    2009-01-27 06:03:13,789 DEBUG [org.springframework.jdbc.core.StatementCreatorUtils] - Setting SQL statement parameter value: column index 2, parameter value [1233064993], value class [java.lang.Long], SQL type unknown
    2009-01-27 06:03:13,789 DEBUG [org.springframework.jdbc.core.StatementCreatorUtils] - Setting SQL statement parameter value: column index 3, parameter value [1], value class [java.lang.Integer], SQL type unknown
    2009-01-27 06:03:13,789 DEBUG [org.springframework.jdbc.core.StatementCreatorUtils] - Setting SQL statement parameter value: column index 4, parameter value [org.springframework.jdbc.core.support.SqlLobValue@18af32e], value class [org.springframework.jdbc.core.support.SqlLobValue], SQL type 2004
    2009-01-27 06:03:13,789 DEBUG [org.springframework.jdbc.support.lob.DefaultLobHandler] - Set bytes for BLOB with length 390
    2009-01-27 06:03:13,789 DEBUG [org.springframework.transaction.support.TransactionSynchronizationManager] - Retrieved value [org.springframework.jdbc.datasource.ConnectionHolder@154136a] for key [org.apache.commons.dbcp.BasicDataSource@bdec44] bound to thread [http-8443-6]
    2009-01-27 06:03:13,790 DEBUG [org.springframework.transaction.support.TransactionSynchronizationManager] - Retrieved value [org.springframework.jdbc.datasource.ConnectionHolder@154136a] for key [org.apache.commons.dbcp.BasicDataSource@bdec44] bound to thread [http-8443-6]
    2009-01-27 06:03:13,790 DEBUG [org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator] - Unable to translate SQLException with Error code '17410', will now try the fallback translator
    2009-01-27 06:03:13,790 INFO [web.controller.LoginController] - Caught Exception while creating sesion in DB
    2009-01-27 06:03:13,790 DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] - Triggering beforeCompletion synchronization
    2009-01-27 06:03:13,790 DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] - Initiating transaction rollback
    2009-01-27 06:03:13,790 DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] - Rolling back JDBC transaction on Connection [jdbc:oracle:thin:@stagedb1c:2115:WEB1C, UserName=WEBAPP, Oracle JDBC driver]
    2009-01-27 06:03:13,791 DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] - Triggering afterCompletion synchronization
    2009-01-27 06:03:13,791 DEBUG [org.springframework.transaction.support.TransactionSynchronizationManager] - Clearing transaction synchronization
    2009-01-27 06:03:13,791 DEBUG [org.springframework.transaction.support.TransactionSynchronizationManager] - Removed value [org.springframework.jdbc.datasource.ConnectionHolder@154136a] for key [org.apache.commons.dbcp.BasicDataSource@bdec44] from thread [http-8443-6]
    2009-01-27 06:03:13,791 DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] - Releasing JDBC Connection [connection is closed] after transaction
    2009-01-27 06:03:13,791 DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] - Returning JDBC Connection to DataSource
    2009-01-27 06:03:13,791 DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] - Could not close JDBC Connection
    java.sql.SQLException: Already closed.
    at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:84)
    at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
    at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:313)
    at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:274)
    at org.springframework.jdbc.datasource.DataSourceTransactionManager.doCleanupAfterCompletion(DataSourceTransactionManager.java:316)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:966)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:832)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:777)
    at web.controller.LoginController.onSubmit(LoginController.java:109)
    at org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:267)
    at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:265)
    at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
    at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:595)
    My Session table has the following structure:
    Code:
    Name Null? Type
    SESSION_CODE NOT NULL VARCHAR2(100)
    LAST_ACCESS NOT NULL NUMBER
    VALID_SESSION NOT NULL NUMBER
    SESSION_DATA NOT NULL BLOB
    I have the following in the Spring context file :
    Code:
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${jdbc.driverClassName}"/>
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
    <property name="initialSize" value="5"/>
    <property name="maxActive" value="5"/>
    <property name="minIdle" value="2"/>
    <property name="poolPreparedStatements" value="true"/>
    <property name="defaultAutoCommit" value="false"/>
    </bean>
    I am using the oracle.jdbc.driver.OracleDriver as jdbc driver. And also using the commons-dbcp-1.2.2.jar and ojdbc14.jar.
    Can some one help me out to solve this issue?
    Thanks in Advance.

    I am also facing the same problem, please let me know if there any suggestions,
    DEBUG|2010-05-07 16:41:25,866|main|(SQLErrorCodeSQLExceptionTranslator.java:266)|org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator|Unable to translate SQLException with Error code '17410', will now try the fallback translator
    DEBUG|2010-05-07 16:41:25,866|main|(SQLStateSQLExceptionTranslator.java:94)|org.springframework.jdbc.support.SQLStateSQLExceptionTranslator|Extracted SQL state class '08' from value '08000'
    thanks
    sundaravel n

  • Dynamic Connection Pool Creation Failing in a cluster

    Hi,
    I am trying to create a connection pool in a clustered environment. This connection
    pool is created lazily behind a Stateless Session Bean. We first attempt to determine
    whether, the connection pool exists using JdbcServices.poolExists(someName), and
    create it if it does not exist. A failure occurs on creation because it looks
    like the connection pool might have been created by a bean on a different weblogic
    VM instance. Is there any way to dynamically create a connection pool and make
    it visible to the whole cluster? Thanks in advance for any help. Michael Dolbear
    Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Checking existence of connection pool
    Content
    ConnectionPool requested by user guest>
    <Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Creating connection pool ContentConnectionPoo
    l requested by user guest>
    weblogic.common.ResourceException: weblogic.management.MBeanCreationException:
    Start server side stack trace:
    javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=JD
    BCConnectionPool
    at com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:134)
    at com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.java:
    2352)
    at com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:874)
    at weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBeanSer
    verImpl.java:181)
    at weblogic.management.internal.Helper.createMBean(Helper.java:376)
    at weblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
    at weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(RemoteMBean
    ServerImpl.java:278)
    at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
    635)
    at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
    621)
    at weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBeanHome
    Impl.java:397)
    at weblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
    Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    --------------- nested within: ------------------
    weblogic.management.MBeanCreationException: - with nested exception:
    [javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=J
    DBCConnectionPool]
    at weblogic.management.internal.Helper.createMBean(Helper.java:383)
    at weblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
    at weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(RemoteMBean
    ServerImpl.java:278)
    at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
    635)
    at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
    621)
    at weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBeanHome
    Impl.java:397)
    at weblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
    Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End server side stack trace
    - with nested exception:
    [javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=J
    DBCConnectionPool
    Start server side stack trace:
    javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=JD
    BCConnectionPool
            at com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:134)
            at com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.java:
    2352)
            at com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:874)
            at weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBeanSer
    verImpl.java:181)
            at weblogic.management.internal.Helper.createMBean(Helper.java:376)
            at weblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
            at weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(RemoteMBean
    ServerImpl.java:278)
            at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
    635)
            at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
    621)
            at weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBeanHome
    Impl.java:397)
            at weblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
    Source)
            at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
            at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
            at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End  server side stack trace
    at weblogic.jdbc.common.internal.ConnectionPool.dynaStartup(ConnectionPool.java:47
    2)
    at weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.java:727
    at weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.java:709
    at com.thc.ids.inf.framework.opf.rdbms.datastore.ConnectionPoolCreator.createConne
    ctionPool(ConnectionPoolCreator.java:82)
    at com.thc.ids.inf.framework.opf.datastore.DataStoreRepository.createConnectionPoo
    lIfNonExistent(DataStoreRepository.java:211)
    at com.thc.ids.inf.util.persistence.content.ConnectionPoolInitializer.createConnec
    tionPoolIfNeeded(ConnectionPoolInitializer.java:48)
    at com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.create
    ConnectionPoolIfNeeded(Unknown Source)
    at com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.getIma
    ge(Unknown Source)
    at com.thc.ids.inf.services.business.crs.ContentRetrievalService.getImage(Unknown
    Source)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.thc.ids.inf.util.reflection.MethodDescription.invokeMethod(MethodDescriptio
    n.java:181)
    at com.thc.ids.inf.util.reflection.MethodInvocation.invoke(MethodInvocation.java:7
    9)
    at com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean.invoke(ServiceBean.java:
    186)
    at com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl.invoke(Ser
    viceBean_bjedmi_EOImpl.java:37)
    at com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl_WLSkel.inv
    oke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    <Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Checking existence of connection
    pool Content
    ConnectionPool requested by user guest>
    <Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Creating connection pool ContentConnectionPoo
    l requested by user guest>
    weblogic.common.ResourceException: weblogic.management.MBeanCreationException:
    Start server side stack trace:
    javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=JD
    BCConnectionPool
    at com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:134)
    at com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.java:
    2352)
    at com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:874)
    at weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBeanSer
    verImpl.java:181)
    at weblogic.management.internal.Helper.createMBean(Helper.java:376)
    at weblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
    at weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(RemoteMBean
    ServerImpl.java:278)
    at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
    635)
    at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
    621)
    at weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBeanHome
    Impl.java:397)
    at weblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
    Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    --------------- nested within: ------------------
    weblogic.management.MBeanCreationException: - with nested exception:
    [javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=J
    DBCConnectionPool]
    at weblogic.management.internal.Helper.createMBean(Helper.java:383)
    at weblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
    at weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(RemoteMBean
    ServerImpl.java:278)
    at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
    635)
    at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
    621)
    at weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBeanHome
    Impl.java:397)
    at weblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
    Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End server side stack trace
    - with nested exception:
    [javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=J
    DBCConnectionPool
    Start server side stack trace:
    javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=JD
    BCConnectionPool
            at com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:134)
            at com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.java:
    2352)
            at com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:874)
            at weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBeanSer
    verImpl.java:181)
            at weblogic.management.internal.Helper.createMBean(Helper.java:376)
            at weblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
            at weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(RemoteMBean
    ServerImpl.java:278)
            at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
    635)
            at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
    621)
            at weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBeanHome
    Impl.java:397)
            at weblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
    Source)
            at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
            at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
            at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End  server side stack trace
    at weblogic.jdbc.common.internal.ConnectionPool.dynaStartup(ConnectionPool.java:47
    2)
    at weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.java:727
    at weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.java:709
    at com.thc.ids.inf.framework.opf.rdbms.datastore.ConnectionPoolCreator.createConne
    ctionPool(ConnectionPoolCreator.java:82)
    at com.thc.ids.inf.framework.opf.datastore.DataStoreRepository.createConnectionPoo
    lIfNonExistent(DataStoreRepository.java:211)
    at com.thc.ids.inf.util.persistence.content.ConnectionPoolInitializer.createConnec
    tionPoolIfNeeded(ConnectionPoolInitializer.java:48)
    at com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.create
    ConnectionPoolIfNeeded(Unknown Source)
    at com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.getIma
    ge(Unknown Source)
    at com.thc.ids.inf.services.business.crs.ContentRetrievalService.getImage(Unknown
    Source)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.thc.ids.inf.util.reflection.MethodDescription.invokeMethod(MethodDescriptio
    n.java:181)
    at com.thc.ids.inf.util.reflection.MethodInvocation.invoke(MethodInvocation.java:7
    9)
    at com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean.invoke(ServiceBean.java:
    186)
    at com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl.invoke(Ser
    viceBean_bjedmi_EOImpl.java:37)
    at com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl_WLSkel.inv
    oke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

    The only way to do it is using MBeans. You could search this newsgroup
    for "JDBCConnectionPoolMBean" to get an idea of how it could be done.
    Slava
    P.S. http://search.bea.com/weblogic/gonews
    "Mark Mortensen" <[email protected]> wrote in message
    news:[email protected]...
    >
    Slava,
    I am working with Mike on this issue and wanted to add some moreclarifications.
    We have a two server cluster where one of the EJB's on one of the Managedservers
    creates the connection pool. The problem comes in when a request comes tothe
    second server in the cluster. The connection pool is created by the firstserver
    but it is only assigned to the first server in the targets section on theconsole.
    It isn't assigned to the cluster. Is there a way to programmaticallyassign the
    pool to the cluster instead of just the server that created the pool?
    -Mark
    "Michael Dolear" <[email protected]> wrote:
    Hi Slava,
    Here is what I am doing. The code is spread across a couple of classes.
    I am using
    what was described in BEA's doc on dynamic connection pool creation.
    I didn't
    see anything about MBean apis required:
    * Dynamically create a connection pool using
    aConnectionPoolProperties.
    Please
    see ConnectionPoolCreator
    * for the required properties that must be sent in.
    * @param aConnectionPoolProperties
    public synchronized void createConnectionPoolIfNonExistent(Properties
    aConnectionPoolProperties)
    throwsPersistenceFrameworkInitializationException
    ConnectionPoolCreator tempPoolCreator;
    Pool tempPool;
    tempPoolCreator = new ConnectionPoolCreator();
    tempPool =tempPoolCreator.getConnectionPool(aConnectionPoolProperties);
    if (tempPool == null)
    tempPoolCreator.createConnectionPool(aConnectionPoolProperties);
    >>
    * Create Connection pool given the properties that I have beenconfigured
    with
    * @return Pool
    public Pool createConnectionPool(Properties aConnectionProperties)
    throwsPersistenceFrameworkInitializationException
    JdbcServices tempServices;
    try
    tempServices = this.lookupJdbcServices();
    tempServices.createPool(aConnectionProperties);
    returntempServices.getPool(aConnectionProperties.getProperty(CONNECTION_POOL_NAME)
    catch (Exception e)
    PersistenceFrameworkUtils.logException(e);
    throw newPersistenceFrameworkInitializationException(e.getMessage());
    * Answer a connectionPool or null.
    * @return Pool
    public Pool getConnectionPool(Properties aConnectionProperties)
    throwsPersistenceFrameworkInitializationException
    JdbcServices tempServices;
    try
    tempServices = this.lookupJdbcServices();
    if (tempServices.poolExists(
    aConnectionProperties.getProperty(CONNECTION_POOL_NAME)))
    return tempServices.getPool(
    aConnectionProperties.getProperty(CONNECTION_POOL_NAME));
    else
    return null;
    catch (Exception e)
    PersistenceFrameworkUtils.logException(e);
    throw
    newPersistenceFrameworkInitializationException(e.getMessage());
    "Slava Imeshev" <[email protected]> wrote:
    Hi Michael,
    Could you show us the code? Without looking at the code
    I can only say that JdbcServices.poolExists(someName)
    returns true only in case the pool is up and running.
    If the connection pool MBean was created but not assigned
    a target, subsequent tries to create it would fail.
    Regards,
    Slava Imeshev
    "Michael Dolbear" <[email protected]> wrote in message
    news:[email protected]...
    Hi,
    I am trying to create a connection pool in a clustered environment.This
    connection
    pool is created lazily behind a Stateless Session Bean. We first
    attempt
    to determine
    whether, the connection pool exists usingJdbcServices.poolExists(someName), and
    create it if it does not exist. A failure occurs on creation becauseit
    looks
    like the connection pool might have been created by a bean on a
    different
    weblogic
    VM instance. Is there any way to dynamically create a connection pooland
    make
    it visible to the whole cluster? Thanks in advance for any help.
    Michael
    Dolbear
    Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Checking existence ofconnection pool
    Content
    ConnectionPool requested by user guest>
    <Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Creating connection poolContentConnectionPoo
    l requested by user guest>
    weblogic.common.ResourceException:weblogic.management.MBeanCreationException:
    Start server side stack trace:
    javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=JD
    BCConnectionPool
    at
    com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:1
    34
    at
    com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.
    ja
    va:
    2352)
    at
    com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:
    87
    4)
    at
    weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBe
    an
    Ser
    verImpl.java:181)
    atweblogic.management.internal.Helper.createMBean(Helper.java:376)
    atweblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
    at
    weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(Remote
    MB
    ean
    ServerImpl.java:278)
    at
    weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
    ja
    va:
    635)
    at
    weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
    ja
    va:
    621)
    at
    weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBea
    nH
    ome
    Impl.java:397)
    atweblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
    Source)
    atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at
    weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
    at
    weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
    :2
    2)
    at
    weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    --------------- nested within: ------------------
    weblogic.management.MBeanCreationException: - with nested exception:
    [javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=J
    DBCConnectionPool]
    atweblogic.management.internal.Helper.createMBean(Helper.java:383)
    atweblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
    at
    weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(Remote
    MB
    ean
    ServerImpl.java:278)
    at
    weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
    ja
    va:
    635)
    at
    weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
    ja
    va:
    621)
    at
    weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBea
    nH
    ome
    Impl.java:397)
    atweblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
    Source)
    atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at
    weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
    at
    weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
    :2
    2)
    at
    weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End server side stack trace
    - with nested exception:
    [javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=J
    DBCConnectionPool
    Start server side stack trace:
    javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=JD
    BCConnectionPool
    at
    com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:1
    34
    at
    com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.
    ja
    va:
    2352)
    at
    com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:
    87
    4)
    at
    weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBe
    an
    Ser
    verImpl.java:181)
    atweblogic.management.internal.Helper.createMBean(Helper.java:376)
    atweblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
    at
    weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(Remote
    MB
    ean
    ServerImpl.java:278)
    at
    weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
    ja
    va:
    635)
    at
    weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
    ja
    va:
    621)
    at
    weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBea
    nH
    ome
    Impl.java:397)
    atweblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
    Source)
    atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at
    weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
    at
    weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
    :2
    2)
    at
    weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End server side stack trace
    at
    weblogic.jdbc.common.internal.ConnectionPool.dynaStartup(ConnectionPool.ja
    va
    :47
    2)
    at
    weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.jav
    a:
    727
    at
    weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.jav
    a:
    709
    at
    com.thc.ids.inf.framework.opf.rdbms.datastore.ConnectionPoolCreator.create
    Co
    nne
    ctionPool(ConnectionPoolCreator.java:82)
    at
    com.thc.ids.inf.framework.opf.datastore.DataStoreRepository.createConnecti
    on
    Poo
    lIfNonExistent(DataStoreRepository.java:211)
    at
    com.thc.ids.inf.util.persistence.content.ConnectionPoolInitializer.createC
    on
    nec
    tionPoolIfNeeded(ConnectionPoolInitializer.java:48)
    at
    com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.c
    re
    ate
    ConnectionPoolIfNeeded(Unknown Source)
    at
    com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.g
    et
    Ima
    ge(Unknown Source)
    at
    com.thc.ids.inf.services.business.crs.ContentRetrievalService.getImage(Unk
    no
    wn
    Source)
    at java.lang.reflect.Method.invoke(Native Method)
    at
    com.thc.ids.inf.util.reflection.MethodDescription.invokeMethod(MethodDescr
    ip
    tio
    n.java:181)
    at
    com.thc.ids.inf.util.reflection.MethodInvocation.invoke(MethodInvocation.j
    av
    a:7
    9)
    at
    com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean.invoke(ServiceBean.
    ja
    va:
    186)
    at
    com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl.invok
    e(
    Ser
    viceBean_bjedmi_EOImpl.java:37)
    at
    com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl_WLSke
    l.
    inv
    oke(Unknown Source)
    atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at
    weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.ja
    va
    :93
    at
    weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
    at
    weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
    :2
    2)
    at
    weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    <Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Checking existence ofconnection
    pool Content
    ConnectionPool requested by user guest>
    <Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Creating connection poolContentConnectionPoo
    l requested by user guest>
    weblogic.common.ResourceException:weblogic.management.MBeanCreationException:
    Start server side stack trace:
    javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=JD
    BCConnectionPool
    at
    com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:1
    34
    at
    com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.
    ja
    va:
    2352)
    at
    com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:
    87
    4)
    at
    weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBe
    an
    Ser
    verImpl.java:181)
    atweblogic.management.internal.Helper.createMBean(Helper.java:376)
    atweblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
    at
    weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(Remote
    MB
    ean
    ServerImpl.java:278)
    at
    weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
    ja
    va:
    635)
    at
    weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
    ja
    va:
    621)
    at
    weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBea
    nH
    ome
    Impl.java:397)
    atweblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
    Source)
    atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at
    weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
    at
    weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
    :2
    2)
    at
    weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    --------------- nested within: ------------------
    weblogic.management.MBeanCreationException: - with nested exception:
    [javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=J
    DBCConnectionPool]
    atweblogic.management.internal.Helper.createMBean(Helper.java:383)
    atweblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
    at
    weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(Remote
    MB
    ean
    ServerImpl.java:278)
    at
    weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
    ja
    va:
    635)
    at
    weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
    ja
    va:
    621)
    at
    weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBea
    nH
    ome
    Impl.java:397)
    atweblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
    Source)
    atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at
    weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
    at
    weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
    :2
    2)
    at
    weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End server side stack trace
    - with nested exception:
    [javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=J
    DBCConnectionPool
    Start server side stack trace:
    javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=JD
    BCConnectionPool
    at
    com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:1
    34
    at
    com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.
    ja
    va:
    2352)
    at
    com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:
    87
    4)
    at
    weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBe
    an
    Ser
    verImpl.java:181)
    atweblogic.management.internal.Helper.createMBean(Helper.java:376)
    atweblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
    at
    weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(Remote
    MB
    ean
    ServerImpl.java:278)
    at
    weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
    ja
    va:
    635)
    at
    weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
    ja
    va:
    621)
    at
    weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBea
    nH
    ome
    Impl.java:397)
    atweblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
    Source)
    atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at
    weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
    at
    weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
    :2
    2)
    at
    weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End server side stack trace
    at
    weblogic.jdbc.common.internal.ConnectionPool.dynaStartup(ConnectionPool.ja
    va
    :47
    2)
    at
    weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.jav
    a:
    727
    at
    weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.jav
    a:
    709
    at
    com.thc.ids.inf.framework.opf.rdbms.datastore.ConnectionPoolCreator.create
    Co
    nne
    ctionPool(ConnectionPoolCreator.java:82)
    at
    com.thc.ids.inf.framework.opf.datastore.DataStoreRepository.createConnecti
    on
    Poo
    lIfNonExistent(DataStoreRepository.java:211)
    at
    com.thc.ids.inf.util.persistence.content.ConnectionPoolInitializer.createC
    on
    nec
    tionPoolIfNeeded(ConnectionPoolInitializer.java:48)
    at
    com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.c
    re
    ate
    ConnectionPoolIfNeeded(Unknown Source)
    at
    com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.g
    et
    Ima
    ge(Unknown Source)
    at
    com.thc.ids.inf.services.business.crs.ContentRetrievalService.getImage(Unk
    no
    wn
    Source)
    at java.lang.reflect.Method.invoke(Native Method)
    at
    com.thc.ids.inf.util.reflection.MethodDescription.invokeMethod(MethodDescr
    ip
    tio
    n.java:181)
    at
    com.thc.ids.inf.util.reflection.MethodInvocation.invoke(MethodInvocation.j
    av
    a:7
    9)
    at
    com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean.invoke(ServiceBean.
    ja
    va:
    186)
    at
    com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl.invok
    e(
    Ser
    viceBean_bjedmi_EOImpl.java:37)
    at
    com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl_WLSke
    l.
    inv
    oke(Unknown Source)
    atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at
    weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.ja
    va
    :93
    at
    weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
    at
    weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
    :2
    2)
    at
    weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

  • BEA-001156 - connection pool reset failed on WLS 8.1.6

    Hi,
    I run WLS 8.1.6 on Linux and JRockit 1.4.2_12. I got the following error when I tried to reset a connection pool manually from the console. This does not happen all the time, so it is hard to reproduce. There is no change to database login credential. Any suggestions are appreciated. Thanks in advance.
    BEA-141132
         Dynamic invocation while executing action reset on etg:Locat
         ion=nyclrwp_14654_2,Name=testPool,ServerRuntime=mycluster,
         Type=JDBCConnectionPoolRuntime MBean instance
         failed. The method reset with signature [] was invoked with
         parameters as [].
    weblogic.common.ResourceException: Refresh operation was partially successful, (1)
                        out of (1) resources could not be refreshed.
         at weblogic.common.resourcepool.ResourcePoolImpl.refresh(ResourcePoolImpl.java:669)
         at weblogic.jdbc.common.internal.ConnectionPool.reset(ConnectionPool.java:789)
         at weblogic.jdbc.common.internal.ConnectionPoolRuntimeMBeanImpl.reset(ConnectionPoolRuntimeMBeanImpl.java:420)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:755)
         at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:734)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
         at weblogic.management.internal.RemoteMBeanServerImpl.private_invoke(RemoteMBeanServerImpl.java:990)
         at weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBeanServerImpl.java:948)
         at weblogic.management.internal.RemoteMBeanServerImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:491)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:434)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:429)
         at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:35)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
    BEA-001156
         Stack trace associated with message 001129 follows:
    java.sql.SQLException: JZ00L: Login failed. Examine the SQLWarnings chained to
              this exception for the reason(s).
         at com.sybase.jdbc2.jdbc.ErrorMessage.raiseError(ErrorMessage.java:506)
         at com.sybase.jdbc2.tds.Tds.processLoginAckToken(Tds.java:3224)
         at com.sybase.jdbc2.tds.Tds.doLogin(Tds.java:483)
         at com.sybase.jdbc2.tds.Tds.login(Tds.java:405)
         at com.sybase.jdbc2.jdbc.SybConnection.tryLogin(SybConnection.java:218)
         at com.sybase.jdbc2.jdbc.SybConnection.regularConnect(SybConnection.java:195)
         at com.sybase.jdbc2.jdbc.SybConnection.<init>(SybConnection.java:174)
         at com.sybase.jdbc2.jdbc.SybConnection.<init>(SybConnection.java:126)
         at com.sybase.jdbc2.jdbc.SybDriver.connect(SybDriver.java:179)
         at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:251)
         at weblogic.jdbc.common.internal.ConnectionEnvFactory.refreshResource(ConnectionEnvFactory.java:330)
         at weblogic.common.resourcepool.ResourcePoolImpl.refreshResource(ResourcePoolImpl.java:1694)
         at weblogic.common.resourcepool.ResourcePoolImpl.refreshAvlResources(ResourcePoolImpl.java:1982)
         at weblogic.common.resourcepool.ResourcePoolImpl.refresh(ResourcePoolImpl.java:664)
         at weblogic.jdbc.common.internal.ConnectionPool.reset(ConnectionPool.java:789)
         at weblogic.jdbc.common.internal.ConnectionPoolRuntimeMBeanImpl.reset(ConnectionPoolRuntimeMBeanImpl.java:420)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:755)
         at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:734)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
         at weblogic.management.internal.RemoteMBeanServerImpl.private_invoke(RemoteMBeanServerImpl.java:990)
    BEA-001129
         Received exception while creating connection for pool "cpl1C
         onnectionPool": JZ00L: Login failed. Examine the SQLWarnings
         chained to this exception for the reason(s).
    BEA-001128 Connection for pool "testPool" closed.
    BEA-001099 Connection pool "testPool" reset by "system"

    lei wang wrote:
    Hi,
    I run WLS 8.1.6 on Linux and JRockit 1.4.2_12. I got the following error when I tried to reset a connection pool manually from the console. This does not happen all the time, so it is hard to reproduce. There is no change to database login credential. Any suggestions are appreciated. Thanks in advance.
    Please tell me why you are resetting the pool. The reason may have something
    to do with the failure messages below. The root cause of these messages is
    that the pool is trying to make a new JDBC connection to Sybase, in exactly
    the same way it does all the time, but for whatever reason, the DBMS is
    refusing the connection request. The pool should be OK anyway, ongoing,
    as long as/when the DBMS is back up and accepting connection requests.
    Joe
    >
    BEA-141132
         Dynamic invocation while executing action reset on etg:Locat
         ion=nyclrwp_14654_2,Name=testPool,ServerRuntime=mycluster,
         Type=JDBCConnectionPoolRuntime MBean instance
         failed. The method reset with signature [] was invoked with
         parameters as [].
    weblogic.common.ResourceException: Refresh operation was partially successful, (1)
                        out of (1) resources could not be refreshed.
         at weblogic.common.resourcepool.ResourcePoolImpl.refresh(ResourcePoolImpl.java:669)
         at weblogic.jdbc.common.internal.ConnectionPool.reset(ConnectionPool.java:789)
         at weblogic.jdbc.common.internal.ConnectionPoolRuntimeMBeanImpl.reset(ConnectionPoolRuntimeMBeanImpl.java:420)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:755)
         at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:734)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
         at weblogic.management.internal.RemoteMBeanServerImpl.private_invoke(RemoteMBeanServerImpl.java:990)
         at weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBeanServerImpl.java:948)
         at weblogic.management.internal.RemoteMBeanServerImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:491)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:434)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:429)
         at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:35)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
    BEA-001156
         Stack trace associated with message 001129 follows:
    java.sql.SQLException: JZ00L: Login failed. Examine the SQLWarnings chained to
              this exception for the reason(s).
         at com.sybase.jdbc2.jdbc.ErrorMessage.raiseError(ErrorMessage.java:506)
         at com.sybase.jdbc2.tds.Tds.processLoginAckToken(Tds.java:3224)
         at com.sybase.jdbc2.tds.Tds.doLogin(Tds.java:483)
         at com.sybase.jdbc2.tds.Tds.login(Tds.java:405)
         at com.sybase.jdbc2.jdbc.SybConnection.tryLogin(SybConnection.java:218)
         at com.sybase.jdbc2.jdbc.SybConnection.regularConnect(SybConnection.java:195)
         at com.sybase.jdbc2.jdbc.SybConnection.<init>(SybConnection.java:174)
         at com.sybase.jdbc2.jdbc.SybConnection.<init>(SybConnection.java:126)
         at com.sybase.jdbc2.jdbc.SybDriver.connect(SybDriver.java:179)
         at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:251)
         at weblogic.jdbc.common.internal.ConnectionEnvFactory.refreshResource(ConnectionEnvFactory.java:330)
         at weblogic.common.resourcepool.ResourcePoolImpl.refreshResource(ResourcePoolImpl.java:1694)
         at weblogic.common.resourcepool.ResourcePoolImpl.refreshAvlResources(ResourcePoolImpl.java:1982)
         at weblogic.common.resourcepool.ResourcePoolImpl.refresh(ResourcePoolImpl.java:664)
         at weblogic.jdbc.common.internal.ConnectionPool.reset(ConnectionPool.java:789)
         at weblogic.jdbc.common.internal.ConnectionPoolRuntimeMBeanImpl.reset(ConnectionPoolRuntimeMBeanImpl.java:420)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:755)
         at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:734)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
         at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
         at weblogic.management.internal.RemoteMBeanServerImpl.private_invoke(RemoteMBeanServerImpl.java:990)
    BEA-001129
         Received exception while creating connection for pool "cpl1C
         onnectionPool": JZ00L: Login failed. Examine the SQLWarnings
         chained to this exception for the reason(s).
    BEA-001128 Connection for pool "testPool" closed.
    BEA-001099 Connection pool "testPool" reset by "system"

  • JDBC connection to 11g using DBCP connection pool

    Hi
    I am using 11g with Java6 using ojdbc6.jar, aqapi.jar and commons-dbcp-1.2.2.jar running in a Jboss4.3 app server. I have a strange problem in that when the app server is shutdown it then seems to take several minutes before it can be restarted because it cannot get the connections for the pool. If I leave it for 10 mins or so it will restart.
    Any help would be appreciated

    IPv6?
    If that is in play one can end up with retries attempted over IPv6, which then finally gives up and then switched to IPv4.
    You should be able to replicate via the following
    1. You MUST run as the same user as the app server
    2. Create a java console app that does nothing but a regular connect using the SAME connection string as the app server.
    3. Test it and time it.
    4. If that works ok then do the same thing with dbcp.

  • [原创] 有关Weblogic Connection Pool 连接恢复的问题

    这是一个古老的问题,一直困扰我,这里既然碰到了,就看看能不能解决。
    环境描述:
    WEBLOGIC版本是8.1 SP2,数据库是SQL SERVER 2000,分别部署在两个服务器上。
    第一步:
    问题描述:
    数据库服务器重新启动,导致WEBLOGIC 的CONNECTION POOL中的连接中断,EJB无法获得连接,导致应用出错。
    解决方法:
    进入WEBLOGIC ADMIN CONSOLE,
    Services->JDBC->Connection Pools->Config->Connections, 点开Advanced Options.
    打开 Test Reserved Connections ,Test Created Connections,Test Released Connections这三个选项。
    将Test Table Name属性设置为:sysproperties(SQL Server系统表,即使自己的应用不存在,这个表也存在,而且默认的内部没有数据)
    根据如下解释:
    Connections that fail the test are closed and reopened to re-establish a valid physical database connection.
    (You must specify a Test Table Name below.)
    每次调用首先进行测试连接,如果测试失败连接将重新建立。
    测试结果:
    WEBLOGIC启动后,关闭数据库SQL SERVER,应用服务器前端调用此时失败。
    重新启动SQL SERVER后,WEBLOGIC端略做等待,前端应用恢复正常。
    第二步:
    问题描述:
    进一步测试,如果WEBLOGIC先启动,启动完成后再启动数据库。
    在WEBLOGIC CONSOLE得到如下输出:
    <2006-3-22 上午11时50分08秒 GMT+08:00> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for p
    ool "MyJDBC Connection Pool": [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.>
    <2006-3-22 上午11时50分10秒 GMT+08:00> <Error> <JDBC> <BEA-001150> <Connection Pool "MyJDBC Connection Pool" deployment
    failed with the following error: 0:Could not create pool connection. The DBMS driver exception was: [Microsoft][SQLServe
    r 2000 Driver for JDBC]Error establishing socket..>
    <2006-3-22 上午11时50分10秒 GMT+08:00> <Error> <JDBC> <BEA-001151> <Data Source "MyJDBC Data Source" deployment failed w
    ith the following error: DataSource(jdbc/OMSEIITxDS) can't be created with non-existent Pool (connection or multi) (MyJD
    BC Connection Pool).>
    Unable to deploy EJB: XXXXXXX from XXXXXXX.jar:
    [EJB:011028]The DataSource with the JNDI name: jdbc/XXXXXX could not be located. Please ensure that the DataSource h
    as been deployed successfully and that the JNDI name in your EJB Deployment descriptor is correct.
    1、在默认初始化打开的连接一一失败以后,连接池发现可用的连接为0,郁闷的宣布自己部署失败。
    2、接着数据源发现没有可用的连接池,自己也宣布部署失败。
    3、下面所有的EJB发现不了数据源的JNDI名,部署也全部失败。
    应用启动完成后,大部分EJB的状态为INACTIVE。前端应用无法使用,此时启动数据库,前端应用无法使用。
    手动重新部署 EJB失败,错误还是找不到JNDI,前端应用无法使用。
    手动重新部署 连接池,数据源后,部署EJB 依然失败。前端应用无法使用。
    解决方法:
    进入WEBLOGIC ADMIN CONSOLE,
    Services->JDBC->Connection Pools->Config->Connections, 点开Advanced Options.

    Connection Creation Retry Frequency 参数设置为 60。
    ConnectionCreationRetryFrequencySeconds含义:
    当创建数据库连接时,如果数据库不可用(如数据库没启动),隔多长时间试着重新创建该连接,
    WLS8.1会每隔ConnectionCreationRetryFrequencySeconds秒重试一次.直到JDBC POOL创建成功
    参考:http://dev2dev.bea.com.cn/techdoc/20030469.html,‘JDBC Connect Pool’部分。
    英文解释可以直接控制台上看到,或者edocs查。
    测试结果:
    将数据库关闭,WEBLOGIC重新启动。
    在WEBLOGIC CONSOLE得到如下输出:
    打开Connection Creation Retry Frequency 参数后,连接池在第一轮尝试失败以后,就成功部署了,数据源也成功部署。
    EJB部署会失败,但是提示也与先前的不同:
    Unable to deploy EJB: XXXXXXX from XXXXXXX.jar:
    weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool MyJDBC Connection Pool to
    allocate to applications, please increase the size of the pool and retry..
    每隔一段时间会看到,CONNECTION POOL不断的重新进行连接:
    <2006-3-22 下午12时17分56秒 GMT+08:00> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for p
    ool "MyJDBC Connection Pool": [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.>
    在WEBLOGIC启动完成后,所有EJB为INACTIVE状态。
    启动数据库服务器,稍后,手动重新部署所有的EJB,EJB可以部署成功,前端应用可以正常使用。
    此时,此问题已经基本解决,仍需要手动部署EJB。
    第三步:
    问题描述:
    解决方法:
    有关部署次序的问题,首先查阅WEBLOGIC文档,http://edocs.bea.com/wls/docs81/faq/deploy.html#744900,得到
    WebLogic Server deploys server-level resources (first JDBC and then JMS) before deploying applications.
    Applications are deployed in this order: connectors, then EJBs, then Web Applications.
    If the application is an EAR, the individual components are loaded in the order in which they are declared
    in the application.xml deployment descriptor.
    WEBLOGIC先部署服务器端资源,JDBC -> JMS....,然后部署我们的应用,EJB->WEB APPLICATION。
    实际从WEBLOGIC启动日志来看,即使打开了Connection Creation Retry Frequency,如果当时数据库不是可用的,CONNECTION POOL
    会不断的调度CONNECTION进行重新连接。但是此时,EJB的部署也同时在进行。个人猜测这应该是两个不同的线程(组)分别调度的任务。
    现在考虑的是能不能用StartupClass截住EJB的部署过程,粗略的说是如果DATASOURCE没有连接好,或者没有可用的连接池,
    就不往下进行EJB部署的过程。
    参考:http://edocs.bea.com/wls/docs81/config_xml/EJBComponent.html#DeploymentOrder
    DeploymentOrder:
    A priority that the server uses to determine when it deploys an item. The priority is relative to other deployable
    items of the same type. For example, the server prioritizes and deploys all EJBs before it prioritizes and
    deploys startup classes.Items with the lowest Deployment Order value are deployed first.
    There is no guarantee on the order of deployments with equal Deployment Order values.
    There is no guarantee of ordering across clusters. Default: 1000 Minimum: 0 Maximum: 2N31-1
    在部署同一类应用时,按照 DEPLOYMENT LOADER的数值决定,数值越小越先。(EJB的参数在ADMIN CONSOLE界面上叫做LOAD ORDER)
    而且上面看来服务器是先部署EJB,再部署STARTUP CLASS,遗憾了。
    好在STARTUP CLASS上有两个选项,
    Run Before Application Deployments
    Run Before Application Activations
    这两个选项分别可以设置StartupClass分别在系统资源部署之前,以及在系统资源部署和用户应用部署之间启动。
    选上Run Before Application Activations。
    现在可以了,我写了一个STARTUP CLASS,思路见下:
    主代码:
    private void testConnection(){
    while (!isTimeout() && !getConnection()){
    try{
    Thread.sleep(testInterval*1000);
    }catch(Exception ignor){}
    log("DBConnectHolder job finished with following status:");
    log("Timeout:"+isTimeout +",Connection OK:"+isConnected);
    测试结果:
    只要配置的等待时间足够长,应用服务器先行启动的情况下,等待数据库启动后才进行EJB等等的部署。
    (主要考虑如果数据库连接不OK,EJB启动了也没有太大用,还得手工重新部署。)算是比较完满的解决了问题。
    另外一个思路是是否可行? 通过MBean, 在CONNECTION 建立起来以后通知一把,进行EJB的重新部署。
    没来得及研究,请有经验的同学帮我补充完善。
    结论:
    其实也没什么结论,只是把自己遇到问题,解决问题的思路写了一下。短时间内阅读的文献有限,可能采用了一些苯方法
    ,或者走了弯路,也请大家拍砖。
    在WL8版本上,数据库连接进行恢复和重新连接的时候,上面提出的几个参数应该是比较重要的,我再次强调一下。
    Services->JDBC->Connection Pools->Config->Connections, 点开Advanced Options.
    Test Reserved Connections
    Test Created Connections
    Test Released Connections
    Test Table Name
    Connection Creation Retry Frequency

    在第一个情景中应该只需要打开Test Reserved Connections 就可以了。
    Test Created Connections表示创建连接后放到pool之前进行测试看连接是否可用
    Test Released Connections表示释放连接回到pool之前进行测试看连接是否可用
    I think so!

  • Hi Guys, can you please help me with Connection Pooling.

    I have:-
    Tomcat 5.0.27
    MySQL 4
    Apache 2.0.
    JSP web pages.
    I have been trying to get connection pooling working but i havent been successful yet. Please do help me make it happen.
    I have posted my server.xml and web.xml from /conf/. They are not edited. I have also included the pages that I am currently ussing to connect to the database.
    I need you to assist me with how I should edit the above.
    1.     SERVER.XML
    Where and how should I edit this file?
    2.     WEB.XML
    Where and how should I edit this file?
    3.     DATABASE_INFO.JSP
    <%
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    %>
    <%!
    public java.sql.Connection dataconnect() throws SQLException {
    Connection database_connector;
    database_connector = DriverManager.getConnection("jdbc:mysql://localhost/publications?user=hello&password=hello");
    return database_connector;
    %>
    <%!
    public java.sql.Connection adminconnect(javax.servlet.http.HttpSession session) throws SQLException {
    Connection database_connector;
    if (session.getAttribute("s_conn")!=null) {
    database_connector = (Connection) session.getAttribute("s_conn");
    if (database_connector.isClosed()) {
    database_connector = DriverManager.getConnection("jdbc:mysql://localhost/publications?user=hello&password=hello");
    } else {
    database_connector = DriverManager.getConnection("jdbc:mysql://localhost/publications?user=hello&password=hello");
    session.setAttribute("s_conn", database_connector);
    return database_connector;
    %>
    <%!
    public String filedir() {
    String directory = "C:/Tomcat/webapps/ROOT/publications/";
    return directory;
    %>
    etc
    Database Name : publications

    Hi,
    1- put your jdbc driver jar file in $CATALINA_HOME/common/lib (ex: C:\tomcat\common\lib )
    2- Next, modify the web application deployment descriptor (/WEB-INF/web.xml) to declare the JNDI name under which you will look up preconfigured data source
    take care of the ordering as below so resourc-ref tag is after taglib
    <resource-ref>
    <description>
    Resource reference to a factory for java.sql.Connection
    instances that may be used for talking to a particular
    database that is configured in the server.xml file.
    </description>
    <res-ref-name>
    jdbc/EmployeeDB
    </res-ref-name>
    <res-type>
    javax.sql.DataSource
    </res-type>
    <res-auth>
    Container
    </res-auth>
    </resource-ref>
    3- add an element like this to the /META-INF/context.xml file in the web application. ( under ../webapps/mywebapplication/WEB-INF
    <Context ...>
    <Resource name="jdbc/EmployeeDB" auth="Container"
    type="javax.sql.DataSource" username="hello" password="hello"
    driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/publications"
    maxActive="8" maxIdle="4"/>
    </Context>
    4- code sample
    Context initCtx = new InitialContext();
    Context envCtx = (Context) initCtx.lookup("java:comp/env");
    DataSource ds = (DataSource)
    envCtx.lookup("jdbc/EmployeeDB");
    Connection conn = ds.getConnection();
    ... use this connection to access the database ...
    conn.close();
    The default data source support in Tomcat is based on the DBCP connection pool from the jakarta commons
    Regards,
    Alan Mehio
    London,UK

  • Installation of CM fails(par files deployed but connection to database fail

    Hi,
    I have just installed CM EP6 SP2 on an old sandbox system (which has been upgrade from SP0 I believe), and I have some problems. The installation went fine untill I got the error message "CJS-00276  The upgrade failed.  The installation report file cf_installation.report does not exist.  Check the log files under the server directory and, if necessary, contact your local support center." But  I, at least now, find the file but this is probably from my installation of CM SP2 Patch4 and CM SP2 Patch4 hf8 (I was hoping the installation of them would clear the problem).
    I believe the problem is that there are missing some files under the SAPPRT share (
    server\SAPPRT\EPS1\global\config\cm), this because it was giving some error messages earlier about it. I was running the portal under localsystem user, which hasn't got the possiblity to have access to share's. (I would get an exception about access denied from the file system when starting it up, but after changing the user I don't).
    Under
    server\SAPPRT\EPS1\global\config\cm the portal has created the following folders:
    Backups
    config
    etc
    reports
    <b>Are there any one missing ?</b>
    (to resolve the problem I tried create the following folders, but still the same problem:
    system/updateQueue/events
    system/command
    system/deployment/archives
    system/deployment/upgrades
    utilities/connection_pools/db_type/default)
    The property files in \usr\sap\EPS1\j2ee\j2ee_01\cluster\server\services\servlet_jsp\work\jspTemp\irj\root\WEB-INF\portal\system\cm
    look correct, and also the file under portalapps/com.sap.portal.km.application (or something).
    When I went into KM configuration in the portal, I noticed there were no JDBC connection pools, and I therefore created two as described in http://help.sap.com/saphelp_ep60sp2/helpdata/en/eb/d10ef2b6a311d5993900508b6b8b11/content.htm
    But that is something which the installer should have done for me. (and still the connection pools won't start)
    The main error message I get at startup is the following:
    Jun 28, 2005 4:45:17 PM      com.sapportals.config.queue.UpdateQueueService [System_Thread_12] Warning": There was a problem initializing the queue service for config manager : configuration plugin for queue service not found (/system/updateQueue/events)
    java.lang.RuntimeException: Failed to init. connection pool configuration: Failed to init. connection pool configuration: missing configurable /cm/utilities/connection_pools/db_type/default
         at com.sapportals.wcm.util.jdbc.connectionpool.JDBCConnectionPoolManager.initConfig(JDBCConnectionPoolManager.java:566)
         at com.sapportals.wcm.util.jdbc.connectionpool.JDBCConnectionPoolManager.getInstance(JDBCConnectionPoolManager.java:99)
         at com.sap.workflow.util.config.WorkflowProperties.initProperties(WorkflowProperties.java:188)
         at com.sap.workflow.util.config.WorkflowProperties.<init>(WorkflowProperties.java:48)
         at com.sap.workflow.util.config.WorkflowProperties.getInstance(WorkflowProperties.java:56)
         at com.sap.workflow.es.portal.WFPortalService.init(WFPortalService.java:74)
         at com.sapportals.portal.prt.core.broker.PortalServiceItem.__initServiceInstance(PortalServiceItem.java:678)
         at com.sapportals.portal.prt.core.broker.PortalServiceItem.createServiceInstance(PortalServiceItem.java:519)
         at com.sapportals.portal.prt.core.broker.PortalServiceItem.startServices(PortalServiceItem.java:875)
         at com.sapportals.portal.prt.core.broker.PortalAppBroker.startLoadOnStartupServices(PortalAppBroker.java:1470)
         at com.sapportals.portal.prt.core.broker.PortalAppBroker.start(PortalAppBroker.java:1426)
         at com.sapportals.portal.prt.core.broker.PortalAppBroker.startNonCoreApplications(PortalAppBroker.java:1383)
         at com.sapportals.portal.prt.runtime.Portal.init(Portal.java:371)
         at com.sapportals.portal.prt.core.PortalCoreInitializer.coreInit(PortalCoreInitializer.java:55)
         at com.sapportals.portal.prt.dispatcher.PortalInitializer.<init>(PortalInitializer.java:129)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$doSetupPortalInitializer.run(Dispatcher.java:160)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.initDispatcher(Dispatcher.java:358)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.access$000(Dispatcher.java:40)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$InitRunner.run(Dispatcher.java:113)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.init(Dispatcher.java:391)
         at com.inqmy.services.servlets_jsp.server.ServletContextFacade.init(ServletContextFacade.java:3284)
         at com.inqmy.services.servlets_jsp.server.ServletContextFacade.init(ServletContextFacade.java:2542)
         at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.createContext(ServletsAndJspImpl.java:765)
         at com.inqmy.services.servlets_jsp.server.WebApplicationStarter.run(WebApplicationStarter.java:57)
         at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
    java.lang.NullPointerException
         at javax.naming.NameImpl.<init>(NameImpl.java:250)
         at javax.naming.CompositeName.<init>(CompositeName.java:223)
         at com.inqmy.services.jndi.implclient.OffsetClientContext.parse(OffsetClientContext.java:129)
         at com.inqmy.services.jndi.implclient.OffsetClientContext.lookup(OffsetClientContext.java:200)
         at javax.naming.InitialContext.lookup(InitialContext.java:345)
         at com.sap.workflow.util.ejbfactory.EJBFactory.getUserTransaction(EJBFactory.java:282)
         at com.sap.workflow.es.portal.WFPortalService.init(WFPortalService.java:83)
         at com.sapportals.portal.prt.core.broker.PortalServiceItem.__initServiceInstance(PortalServiceItem.java:678)
         at com.sapportals.portal.prt.core.broker.PortalServiceItem.createServiceInstance(PortalServiceItem.java:519)
         at com.sapportals.portal.prt.core.broker.PortalServiceItem.startServices(PortalServiceItem.java:875)
         at com.sapportals.portal.prt.core.broker.PortalAppBroker.startLoadOnStartupServices(PortalAppBroker.java:1470)
         at com.sapportals.portal.prt.core.broker.PortalAppBroker.start(PortalAppBroker.java:1426)
         at com.sapportals.portal.prt.core.broker.PortalAppBroker.startNonCoreApplications(PortalAppBroker.java:1383)
         at com.sapportals.portal.prt.runtime.Portal.init(Portal.java:371)
         at com.sapportals.portal.prt.core.PortalCoreInitializer.coreInit(PortalCoreInitializer.java:55)
         at com.sapportals.portal.prt.dispatcher.PortalInitializer.<init>(PortalInitializer.java:129)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$doSetupPortalInitializer.run(Dispatcher.java:160)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.initDispatcher(Dispatcher.java:358)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.access$000(Dispatcher.java:40)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$InitRunner.run(Dispatcher.java:113)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.init(Dispatcher.java:391)
         at com.inqmy.services.servlets_jsp.server.ServletContextFacade.init(ServletContextFacade.java:3284)
         at com.inqmy.services.servlets_jsp.server.ServletContextFacade.init(ServletContextFacade.java:2542)
         at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.createContext(ServletsAndJspImpl.java:765)
         at com.inqmy.services.servlets_jsp.server.WebApplicationStarter.run(WebApplicationStarter.java:57)
         at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
    And if I go to content administration->KM content I get the following stack trace:
    java.lang.RuntimeException: Failed to init. connection pool configuration: Failed to init. connection pool configuration: missing configurable /cm/utilities/connection_pools/db_type/default
         at com.sapportals.wcm.util.jdbc.connectionpool.JDBCConnectionPoolManager.initConfig(JDBCConnectionPoolManager.java:566)
         at com.sapportals.wcm.util.jdbc.connectionpool.JDBCConnectionPoolManager.getInstance(JDBCConnectionPoolManager.java:99)
         at com.sapportals.wcm.repository.runtime.CmSystemInfo.createDBConnection(CmSystemInfo.java:221)
         at com.sapportals.wcm.repository.runtime.CmSystemInfo.checkDB(CmSystemInfo.java:138)
         at com.sapportals.wcm.repository.runtime.CmSystem.startUp(CmSystem.java:226)
         at com.sapportals.wcm.repository.runtime.CmSystem.getInstance(CmSystem.java:161)
         at com.sapportals.wcm.repository.runtime.CmAdapter.getResource(CmAdapter.java:81)
         at com.sapportals.wcm.portal.service.KMServiceImpl.afterInit(KMServiceImpl.java:260)
         at com.sapportals.portal.prt.core.broker.PortalServiceItem.__initServiceInstanceStep2(PortalServiceItem.java:736)
         at com.sapportals.portal.prt.core.broker.PortalServiceItem.startServices(PortalServiceItem.java:909)
         at com.sapportals.portal.prt.core.broker.PortalAppBroker.startLoadOnStartupServices(PortalAppBroker.java:1470)
         at com.sapportals.portal.prt.core.broker.PortalAppBroker.start(PortalAppBroker.java:1426)
         at com.sapportals.portal.prt.core.broker.PortalAppBroker.startNonCoreApplications(PortalAppBroker.java:1383)
         at com.sapportals.portal.prt.runtime.Portal.init(Portal.java:371)
         at com.sapportals.portal.prt.core.PortalCoreInitializer.coreInit(PortalCoreInitializer.java:55)
         at com.sapportals.portal.prt.dispatcher.PortalInitializer.(PortalInitializer.java:129)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$doSetupPortalInitializer.run(Dispatcher.java:160)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.initDispatcher(Dispatcher.java:358)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.access$000(Dispatcher.java:40)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$InitRunner.run(Dispatcher.java:113)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.init(Dispatcher.java:391)
         at com.inqmy.services.servlets_jsp.server.ServletContextFacade.init(ServletContextFacade.java:3284)
         at com.inqmy.services.servlets_jsp.server.ServletContextFacade.init(ServletContextFacade.java:2542)
         at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.createContext(ServletsAndJspImpl.java:765)
         at com.inqmy.services.servlets_jsp.server.WebApplicationStarter.run(WebApplicationStarter.java:57)
         at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
    com.sapportals.wcm.repository.ResourceException: CM Startup failed: CM startup failed: Failed to init. connection pool configuration: Failed to init. connection pool configuration: missing configurable /cm/utilities/connection_pools/db_type/default
         at com.sapportals.wcm.repository.ResourceException.fillInStackTrace(ResourceException.java:401)
         at java.lang.Throwable.(Throwable.java:85)
         at java.lang.Exception.(Exception.java:33)
         at com.sapportals.wcm.WcmException.(WcmException.java:78)
         at com.sapportals.wcm.WcmException.(WcmException.java:74)
         at com.sapportals.wcm.util.content.ContentException.(ContentException.java:42)
         at com.sapportals.wcm.repository.ResourceException.(ResourceException.java:251)
         at com.sapportals.wcm.repository.runtime.CmAdapter.makeStartupResourceException(CmAdapter.java:397)
         at com.sapportals.wcm.repository.runtime.CmAdapter.getResource(CmAdapter.java:84)
         at com.sapportals.wcm.portal.service.KMServiceImpl.afterInit(KMServiceImpl.java:260)
         at com.sapportals.portal.prt.core.broker.PortalServiceItem.__initServiceInstanceStep2(PortalServiceItem.java:736)
         at com.sapportals.portal.prt.core.broker.PortalServiceItem.startServices(PortalServiceItem.java:909)
         at com.sapportals.portal.prt.core.broker.PortalAppBroker.startLoadOnStartupServices(PortalAppBroker.java:1470)
         at com.sapportals.portal.prt.core.broker.PortalAppBroker.start(PortalAppBroker.java:1426)
         at com.sapportals.portal.prt.core.broker.PortalAppBroker.startNonCoreApplications(PortalAppBroker.java:1383)
         at com.sapportals.portal.prt.runtime.Portal.init(Portal.java:371)
         at com.sapportals.portal.prt.core.PortalCoreInitializer.coreInit(PortalCoreInitializer.java:55)
         at com.sapportals.portal.prt.dispatcher.PortalInitializer.(PortalInitializer.java:129)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$doSetupPortalInitializer.run(Dispatcher.java:160)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.initDispatcher(Dispatcher.java:358)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.access$000(Dispatcher.java:40)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$InitRunner.run(Dispatcher.java:113)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.init(Dispatcher.java:391)
         at com.inqmy.services.servlets_jsp.server.ServletContextFacade.init(ServletContextFacade.java:3284)
         at com.inqmy.services.servlets_jsp.server.ServletContextFacade.init(ServletContextFacade.java:2542)
         at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.createContext(ServletsAndJspImpl.java:765)
         at com.inqmy.services.servlets_jsp.server.WebApplicationStarter.run(WebApplicationStarter.java:57)
         at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
    javax.servlet.ServletException: CM Startup failed: CM startup failed: Failed to init. connection pool configuration: Failed to init. connection pool configuration: missing configurable /cm/utilities/connection_pools/db_type/default
         at com.sapportals.wcm.portal.proxy.PCProxyServlet.service(PCProxyServlet.java:111)
         at com.sapportals.portal.prt.core.broker.ServletComponentItem$ServletWrapperComponent.doContent(ServletComponentItem.java:110)
         at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
         at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
         at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:300)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:190)
         at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:209)
         at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:576)
         at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:300)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:190)
         at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:669)
         at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:209)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:532)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)
         at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:832)
         at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:665)
         at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:312)
         at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
         at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1245)
         at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
         at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
         at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
    I appreciate any help !
    PS sorry for the unstructured post, but I am hungry and want to go home now.

    The files under the SAPPRT share had somehow failed (some where there, but a lot of the important ones where missing).
    I found out that these files were in .configarchive files in the par files to be deployed, and manually unpacked them using these two commands
    $ for file in `ls -1 .par` ; do unzip $file ".configarchive" -d extracted >> logfile.txt ; done
    $ for file in `ls -1 *.configarchive` ; do unzip -o $file -d extracted >> logfile.txt ; done
    Afterwards I had to make some tiny customization (search for %[a-zA-Z]% , especially for the connection pools.
    Then a restart, and most of it seems to work (the system will not live much longer so that is acceptable)

  • Failed to obtain/create connection from connection pool after redeploy

    I have a web application (.war) that uses a jdbc connection pool. The application works fine, however after I redeploy it using the administration console I get "Failed to obtain/create connection from connection pool [ Datavision_Pool ]. Reason : null" followed by "Error allocating connection : [Error in allocating a connection. Cause: null]" from javax.enterprise.resource.resourceadapter and I am forced to restart the instance. I am running Sun Java System Application Server 9.1 (build b58g-fcs)
    using a connection pool to a Microsoft SQL 2000 database using inet software's JDBC drivers. I need to be able to redeploy applications without having to restart the instance. Any help is appreciated.

    I have turned on some additional diagnostics and found out some answers and a work-around, but I think that there may be a bug in the way JDBC connection pool classes are loaded. The actual error was a null pointer in the JDBC driver class in the perpareStatement method. The only line in this method is "return factory.createPreparedStatement( this , sql );" and the only possible NPE would be if the factory was null, which should be impossible because it is a static variable and it is initialized when the class is loaded. The problem occurs because we deploy the JDBC driver .jar file within our .war file, for use when a client doesn't have or want to use connection pooling. Apparently, the connection pool must have picked up some of these classes and when the .war was redeployed, the reference to the factory was lost for existing connections (not sure how). If I remove the JDBC .jar file from the .war, it works, but that wasn't an ideal solution, the other way to get it to work was to change the sun-web.xml file to have <class-loader delegate="true">. We previously had it set to false in version 8.1 because of interference with a different version of the apache Tiles classes, which has now been addressed in version 9.1.
    I still think there is an issue, because the connection pool should never use the application specific classloaders. Am I wrong to believe this?

  • Oracle connection pool problem (dbcp binded with  jtom)

    Hi,
    my webserver is Tomcat5.0.18, I want to offer the connection pool and transaction management
    in my currently system
    I know in Tomcat5.0 version, we can use the DBCP to offer the database connection pool
    service, to apply the transaction management in my system, I adapt the JTOM
    now, my problem is
    to use DBCP, I setup the datasource factory to be
    org.apache.commons.dbcp.BasicDataSourceFactory, the connection pool is ok, but
    the transaction management offerred by JTOM will failure
    to make the tranaction management of JTOM succeed, I have to setup the datasource factory to be
    org.objectweb.jndi.DataSourceFactory, but the connection pool offerred by Tomcat will failure now
    it seems that these two datasource factory has conflict
    How can I do?, I don't want to use the connection pool offerred in JTOM
    Anyone can help me??
    Thanks in advance

    Hi,
    I don't know the solution for JOTM, but you could try this JTA and its connection pools:
    http://www.atomikos.com ships a JTA that integrates with Tomcat and also provides JDBC connection pooling. There is a GUI control panel so that you don't have to know the XML details for Tomcat's config files.
    Best,
    Guy

  • Connection pool fail

    Hi, guys
    I use instant client 11.2.0.3.0 OCCI to create a connection pool, when create a connection from pool, it supposed using the existing connection, but the code created anohter new connection to database, any ideas? appreciate your help.
    client side is running on Windows 7 32 bit, Database server is 10.2.05 on Solaris 10, development tool is MS VS 2010
    here is the code:
    Environment *env;
    Connection *conn;
    Statement *stmt;
    string sqlStmt;
    env = Environment::createEnvironment (Environment::THREADED_MUTEXED);
    const string poolUserName = "scott";
    const string poolPassword = "1234";
    const string connectString = "192.168.0.70/orcl";
    const string username = "scott";
    const string passWord = "1234";
    unsigned int maxConn =5;
    unsigned int minConn = 2;
    unsigned int incrConn = 1;
    ConnectionPool *connPool = env->createConnectionPool(poolUserName, poolPassword, connectString, minConn, maxConn, incrConn);
    try{
    if (connPool)
    cout << "SUCCESS - createConnectionPool" << endl;
    else
    cout << "FAILURE - createConnectionPool" << endl;
    conn = connPool->createConnection (username, passWord); _// after this code, connection increase to 3 from 2._*
    if (conn)
    cout << "SUCCESS - createConnection" << endl;
    else
    cout << "FAILURE - createConnection" << endl;
    }catch(SQLException ex)
    cout<<"Exception thrown for createConnectionPool"<<endl;
    cout<<"Error number: "<< ex.getErrorCode() << endl;
    cout<<ex.getMessage() << endl;
    ......

    Hi Nicolas,
    Have you tried to turn on testOnReserve setting of the coneection pool?
    Regards,
    "Nicolas Devos" <[email protected]> wrote in message
    news:3c5fa916$[email protected]..
    >
    Hi,
    I am using weblogic 6.1 and oracle 8.1.6, and experiences
    problems with connections pools and database crash.
    When the database server crashes during an EJB transactions,
    the connection used by that transaction seems to be lost and
    is never rebuilt when the database server restarts, therefore
    the number of connections within the pool shrinks thoroughly
    if I have several connections used while the database crashes
    or is shutdown for maintenance.
    If this db crash takes time to recover, all connections
    are destroyed and the pool become unusable.
    As soon as all connections have been 'destroyed' I have
    the following exception:
    'connection pool - none available' when trying to get
    a connection.
    When I restart the database server, the pool does not rebuilt
    itself.
    (I am using a test table to test the presence of the database
    with a frequency set to 60s)
    I did the same operation without EJB transactions and the pool
    could rebuilt itself after the database has been restarted.
    I had that problem with weblogic 6.0 already and in the
    release notes of 6.0_sp2, 2 issues are fixed concerning
    the pool fail-over: 044223 and 041793.
    I would like to know if these issues are fixed in 6.1 as well,
    and if they are related to my problem (Their description is
    quite short).
    Thank you
    Nicolas

  • Dynamic Connection Pool fails in WLS 6.1

    Hi all,
    I am trying to create the connection pool dynamically but it fails saying " Error
    to load the Driver"
    Snippet Code --
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY,
    "weblogic.jndi.WLInitialContextFactory");
    // URL for the WebLogic Server
    env.put(Context.PROVIDER_URL, "t3://localhost:7001");
    env.put(Context.SECURITY_PRINCIPAL, "Fred");
    env.put(Context.SECURITY_CREDENTIALS, "secret");
    Context ctx = new InitialContext(env);
    // Look up weblogic.jdbc.JdbcServices
    weblogic.jdbc.common.JdbcServices jdbc =
    (weblogic.jdbc.common.JdbcServices)
    ctx.lookup("weblogic.jdbc.JdbcServices");
    String thePoolName = "eng2";
    Properties poolProps = null;
    Pool myPool = null;
    weblogic.jdbc.common.Pool pool = null
    poolProps = new Properties();
    // Set properties for the ConnectionPool.
    poolProps.put("poolName", thePoolName);
    poolProps.put("url", "jdbc:weblogic:demo");
    poolProps.put("driver", "COM.cloudscape.core.JDBCDriver");
    poolProps.put("props", "user=scott;password=tiger;server=demo");
    poolProps.put("initialCapacity", "1");
    poolProps.put("maxCapacity", "10");
    poolProps.put("capacityIncrement", "1");
    poolProps.put("aclName", "dynapool");
    poolProps.put("allowShrinking", "true");
    poolProps.put("shrinkPeriodMins", "5");
    poolProps.put("refreshPeriod", "10");
    poolProps.put("testConnOnReserve", "true");
    poolProps.put("testConnOnRelease", "false");
    poolProps.put("testTableName", "dual");
    poolProps.put("loginDelaySecs", "1");
    // create our pool
    try {
    myJdbc.createPool(poolProps);
    } catch (Exception e) {
    System.out.println(thePoolName
    + " can't be created ..");
    System.exit(666);
    Any Help will be appreciated in creating the dynamic connection pool in WLS 6.1 SP2
    Regards,
    Bala

    Bala wrote:
    Hi joe,
    Any how let me want to create the Connections Pool Dynamically in WLS 6.1 .Pls
    give some ideas / ways to proceeed further
    Thx
    BalaFirst I need the answer to my question:
    Hi. Can the same pool be created as a startup pool?
    (Ie: does it succeed?)
    Joelet me know...
    Joe
    >
    >>
    Bala wrote:
    Hi all,
    I am trying to create the connection pool dynamically but it fails saying" Error
    to load the Driver"
    Snippet Code --
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY,
    "weblogic.jndi.WLInitialContextFactory");
    // URL for the WebLogic Server
    env.put(Context.PROVIDER_URL, "t3://localhost:7001");
    env.put(Context.SECURITY_PRINCIPAL, "Fred");
    env.put(Context.SECURITY_CREDENTIALS, "secret");
    Context ctx = new InitialContext(env);
    // Look up weblogic.jdbc.JdbcServices
    weblogic.jdbc.common.JdbcServices jdbc =
    (weblogic.jdbc.common.JdbcServices)
    ctx.lookup("weblogic.jdbc.JdbcServices");
    String thePoolName = "eng2";
    Properties poolProps = null;
    Pool myPool = null;
    weblogic.jdbc.common.Pool pool = null
    poolProps = new Properties();
    // Set properties for the ConnectionPool.
    poolProps.put("poolName", thePoolName);
    poolProps.put("url", "jdbc:weblogic:demo");
    poolProps.put("driver", "COM.cloudscape.core.JDBCDriver");
    poolProps.put("props", "user=scott;password=tiger;server=demo");
    poolProps.put("initialCapacity", "1");
    poolProps.put("maxCapacity", "10");
    poolProps.put("capacityIncrement", "1");
    poolProps.put("aclName", "dynapool");
    poolProps.put("allowShrinking", "true");
    poolProps.put("shrinkPeriodMins", "5");
    poolProps.put("refreshPeriod", "10");
    poolProps.put("testConnOnReserve", "true");
    poolProps.put("testConnOnRelease", "false");
    poolProps.put("testTableName", "dual");
    poolProps.put("loginDelaySecs", "1");
    // create our pool
    try {
    myJdbc.createPool(poolProps);
    } catch (Exception e) {
    System.out.println(thePoolName
    + " can't be created ..");
    System.exit(666);
    Any Help will be appreciated in creating the dynamic connection pool inWLS 6.1 SP2
    Regards,
    Bala

  • EP 6.0 SP2 PL28 - connection pool for principal type UACC fails

    Hello,
    does anybody have the same problem? - We always lose the LDAP-Connection after restart of the j2ee-Services on our Enterprise Portal. We get then this error-message:
    ->
    <b>connection pool for principal type UACC fails</b>
    Loading application: com.sap.portal.usermanagement
    Loading services:
    Loading service: com.sap.portal.license.runtime|license
    Jul 2, 2005 4:27:09 AM # System_Thread_32 Fatal [class=com.sap.security.core.persistence.datasource.imp.LDAPConnectionManager][method=initConnectionPool()][cl=13324]connection pool for principal type UACC fails
    Thanks in advance.
    Regards,
    Ralf

    Does anybody can help me? - It´s important.
    Thanks in advance.
    Regards,
    Ralf

  • Using commons dbcp in SOA 8 for connection pool?

    Hi there,
    It is possible to use commons dbcp in SOA 8 for connection pool ing?
    At far I tried SOA 8 does not work either Mckoi and AS400 databases jdbc drivers in a connection pool.
    So having the experience with Tomcat and commons-dbcp with successfull connection pools, I am trying to use a alternative database connection pool, or use SOA8 connection pool using commons-dbcp and it with our AS400 db.
    Do you think it is possible?
    Thanks for your input!
    Lorenzo Jimenez

    I am really lost.
    All I know i that I used this jtopen driver on tomcat with and without connection pool.
    I used the same parameters, but SOA implementation or program is different. Maybe is the 1.4 api, maybe is the jdbc expected.
    Really don't know.
    What I know I as400 and mckoi drivers don't work where in Tomcat work ok.
    Please check this thread with the error that SOA gave to me
    http://forum.java.sun.com/thread.jsp?forum=136&thread=524472&tstart=0&trange=15
    Thanks,
    Lorenzo

  • Weblogic connection pool fails

    Hi
    I am trying to connect to sqlserver using the weblogic connection pool from the
    console.It throws me the following error inspite of adding the appropriate drivers
    in the classpath.It works out really fine when connection to oracle database when
    connecting to oracle it gives out :connection pool created, BUT WHEN TRYING TO
    ACCESS THE SQLSERVER ..OOOhh.
    anybody please immediate help is very much required and would be highly appreciated.
    Thanks
    Nov 1, 2001 9:18:40 AM EST> <Error> <JDBC> <Cannot startup connection pool "MessageLoggerDB"
    weblogic.com
    on.ResourceException:
    ould not create pool connection. The DBMS driver exception was:
    ava.sql.SQLException: I/O exception while talking to the server, java.io.EOFException:
    TdsInputStream.rea
    Fully - len 149 Unable to connect, please check your server's version and availability.
    at weblogic.jdbc.mssqlserver4.TdsStatement.microsoftLogin(TdsStatement.java:2872)
    at weblogic.jdbc.mssqlserver4.MicrosoftConnection.beginLogin(MicrosoftConnection.java:42)
    at weblogic.jdbc.mssqlserver4.TdsConnection.login(TdsConnection.java:57)
    at weblogic.jdbc.mssqlserver4.MicrosoftConnection.login(MicrosoftConnection.java:53)
    at weblogic.jdbc.mssqlserver4.BaseConnection.prepareConnection(BaseConnection.java:187)
    at weblogic.jdbc.mssqlserver4.Driver.newConnection(Driver.java:34)
    at weblogic.jdbc.mssqlserver4.ConnectDriver.connect(ConnectDriver.java:151)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:192

    This looks like you're using the mssqlserver4v70 driver to connect to
    an MS SQLServer 6.5. Is that the case?
    Joe
    Srini wrote:
    >
    Hi
    I am trying to connect to sqlserver using the weblogic connection pool from the
    console.It throws me the following error inspite of adding the appropriate drivers
    in the classpath.It works out really fine when connection to oracle database when
    connecting to oracle it gives out :connection pool created, BUT WHEN TRYING TO
    ACCESS THE SQLSERVER ..OOOhh.
    anybody please immediate help is very much required and would be highly appreciated.
    Thanks
    Nov 1, 2001 9:18:40 AM EST> <Error> <JDBC> <Cannot startup connection pool "MessageLoggerDB"
    weblogic.com
    on.ResourceException:
    ould not create pool connection. The DBMS driver exception was:
    ava.sql.SQLException: I/O exception while talking to the server, java.io.EOFException:
    TdsInputStream.rea
    Fully - len 149 Unable to connect, please check your server's version and availability.
    at weblogic.jdbc.mssqlserver4.TdsStatement.microsoftLogin(TdsStatement.java:2872)
    at weblogic.jdbc.mssqlserver4.MicrosoftConnection.beginLogin(MicrosoftConnection.java:42)
    at weblogic.jdbc.mssqlserver4.TdsConnection.login(TdsConnection.java:57)
    at weblogic.jdbc.mssqlserver4.MicrosoftConnection.login(MicrosoftConnection.java:53)
    at weblogic.jdbc.mssqlserver4.BaseConnection.prepareConnection(BaseConnection.java:187)
    at weblogic.jdbc.mssqlserver4.Driver.newConnection(Driver.java:34)
    at weblogic.jdbc.mssqlserver4.ConnectDriver.connect(ConnectDriver.java:151)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:192

Maybe you are looking for

  • Problem with Muvo Slim

    My dad has a new Muvo Slim and I am trying to put music on it for him. I can get it to copy up to 28Mb but not to fill it, is there a setting that I have wrong? Thanks Kizzmo

  • 4s signal searching

    I am having a problem with my new iPhone 4s where it is constantly looking for a signal.  I am on AT&T in NYC and had no such issues with my previous 4.  It happens every 10-15 minutes where 3G and the phone signal cuts out and it says searching and

  • My iMac has just been stolen.  It was set up in the shop so I don't know if icloud is set up.  Is there any way of finding out?

    H.  My iMac has just been stolen and I can't remember if icloud was activated.  Is there any way of telling?

  • Blame it on the computer system

    That's the problem with big companies like Verizon they don't care about anyone and they have you [Edited to comply with Terms of Service] with their early cancellation fees i've been a customer for twelve years and they made a mistake on my account

  • [OT] Rock riojano desde y para el foro...

    A las buenas noches! Aunque se me hace raro, no consultar alguna duda (últimamente cada vez tengo menos, eso es bueno digo yo jeje), pues aquí estoy para dejaros el enlace del MySpace con el single que acabamos de sacar ya a los medios. Para Junio sa