0 Replies Latest reply on Jul 31, 2006 1:35 PM by merkkila

    Connection pool filling up, or is it?

    merkkila Newbie

      JBoss 4.0.4GA - 3 app servers clustered behind IIS 6 w/ mod_jk and session replication with TreeCache, Hibernate 3.1.3 (session per request using threadlocal to store session/servlet filter for opening and commiting of transactions).

      Oracle 9.2.0.4 / 10.2.0.1.0 JDBC driver

      After some random amount of time (1-3 days) it seems at least one, sometimes more, of the app servers lose connection to the database.

      2006-07-31 05:35:18,971 ERROR org.hibernate.util.JDBCExceptionReporter No ManagedConnections available within configured blocking timeout ( 3000 ms )


      When I inspect the jmx-console I see that my connection pool has reached its max. (min 2/max 75).

      I have read everything I can find about the dreaded "No ManagedConnections" error. I have been monitoring the pool through the jmx-console and it seems to be creating/releasing connections as it should so I don't think I am leaking any anywhere. I have turned on the logging and I never get any messages suggesting otherwise.

      Is it possible we are doing so much work that we actually use all the connections to the DB? What happens when you reach the max in your pool? Will it recover once load decreases?

      ds-file
      <datasources>
       <xa-datasource>
       <jndi-name>prod3</jndi-name>
       <track-connection-by-tx/>
       <isSameRM-override-value>false</isSameRM-override-value>
       <min-pool-size>2</min-pool-size>
       <max-pool-size>75</max-pool-size>
       <blocking-timeout-millis>3000</blocking-timeout-millis>
       <idle-timeout-minutes>1</idle-timeout-minutes>
       <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
       <xa-datasource-property name="URL">jdbc:oracle:thin:@192.168.50.15:1521:ssdb</xa-datasource-property>
       <xa-datasource-property name="User">yeah</xa-datasource-property>
       <xa-datasource-property name="Password">right</xa-datasource-property>
      
      <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
      
       <no-tx-separate-pools/>
       <track-statements>true</track-statements>
      
       <metadata>
       <type-mapping>Oracle9i</type-mapping>
       </metadata>
       </xa-datasource>
      
       <mbean code="org.jboss.resource.adapter.jdbc.vendor.OracleXAExceptionFormatter" name="jboss.jca:service=prod3OracleXAExceptionFormatter">
       <depends optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager</depends>
       </mbean>
      
      </datasources>
      



      Any help would be great. Thanks.