Hi! Is it possible, that your application uses many transactions? If you forget to close this connections - the pool is running out of connections from time to time. Maybe there is just one unclosed transaction somewhere in your application. If you have a lot of traffic on your site you can increase the number of max connections...but I'm sure there is missing commit() or safeRollback().
bye Thoralf > -----Ursprüngliche Nachricht----- > Von: Eduardo Kinto [mailto:[EMAIL PROTECTED] > Gesendet: Mittwoch, 2. Mai 2007 13:09 > An: [email protected] > Betreff: Could not retrieve connection info from pool > > > Hello, > > I'm using Torque to connect to my MSSql and MySQL Server database. > > Everything is working fine, just one problem, some times > Database connection fail and don't come back (both, mysql and > mssql) by it self and I have to restart my webserver (where > it is running my application). > > Running the command netstat, I can't see any connnection to > database server. > > I'm using: > - torque-3.2.jar > - apache tomcat 5.5.12 > - java jdk 1.5.0_06 > - RedHat Linux Enterprise 4 > > And the folowing torque setup for mysql: > > torque.dsfactory.APP.factory = > org.apache.torque.dsfactory.SharedPoolDataSourceFactory > torque.dsfactory.APP.connection.driver = > com.mysql.jdbc.Driver torque.dsfactory.APP.connection.url = > jdbc:mysql://IP:PORT/APP?autoReconnect=true > torque.dsfactory.APP.connection.user = yyy > torque.dsfactory.APP.connection.password = xxx > torque.dsfactory.APP.pool.defaultTransactionIsolation=1 > torque.dsfactory.APP.pool.maxWait=600000 > torque.dsfactory.APP.pool.maxActive=32 > torque.dsfactory.APP.pool.maxIdle=32 > torque.dsfactory.APP.pool.testOnBorrow=true > torque.dsfactory.APP.pool.validationQuery=SELECT 1 > > And for MSSqlServer: > torque.dsfactory.APP2.factory = > org.apache.torque.dsfactory.SharedPoolDataSourceFactory > torque.dsfactory.APP2.connection.driver = > net.sourceforge.jtds.jdbc.Driver > torque.dsfactory.APP2.connection.url = > jdbc:jtds:sqlserver://IP:1433/DATABASE > .. similary to mysql ... > > The ERROR message: > org.apache.torque.TorqueException: > org.apache.commons.dbcp.SQLNestedException: Could not > retrieve connection info from pool > at > org.apache.torque.TorqueInstance.getConnection(TorqueInstance. > java:825) > at org.apache.torque.Torque.getConnection(Torque.java:272) > at > org.apache.torque.util.BasePeer.doPSSelect(BasePeer.java:1478) > ... > Caused by: org.apache.commons.dbcp.SQLNestedException: Could > not retrieve connection info from pool > at > org.apache.commons.dbcp.datasources.SharedPoolDataSource.getPo > oledConnectionAndInfo(SharedPoolDataSource.java:169) > at > org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getC > onnection(InstanceKeyDataSource.java:631) > at > org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getC > onnection(InstanceKeyDataSource.java:615) > at > org.apache.torque.TorqueInstance.getConnection(TorqueInstance. > java:821) > ... 11 more > Caused by: java.lang.NullPointerException > at > org.apache.commons.collections.SequencedHashMap.removeEntry(Se > quencedHashMap.java:215) > at > org.apache.commons.collections.SequencedHashMap.removeImpl(Seq > uencedHashMap.java:473) > at > org.apache.commons.collections.SequencedHashMap.remove(Sequenc > edHashMap.java:460) > at org.apache.commons.collections.LRUMap.get(LRUMap.java:93) > at > org.apache.commons.dbcp.datasources.SharedPoolDataSource.getUs > erPassKey(SharedPoolDataSource.java:176) > at > org.apache.commons.dbcp.datasources.SharedPoolDataSource.getPo > oledConnectionAndInfo(SharedPoolDataSource.java:165) > ... 14 more > > > > Restarting my webserver everything is working fine again. > Can't torque re-establish a valid connection to the database > by it self ? > > I have an heavy activity on my MSSql database, sometime I get > the following error message: Caused by: > java.sql.SQLException: I/O Error: Connection reset > at > net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:797) > at > net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStateme > nt.java:332) > at > net.sourceforge.jtds.jdbc.JtdsStatement.executeUpdate(JtdsStat > ement.java:723) > at > net.sourceforge.jtds.jdbc.JtdsStatement.executeUpdate(JtdsStat > ement.java:652) > at > org.apache.torque.util.BasePeer.executeStatement(BasePeer.java:1294) > ... 6 more > > Does the error "Connection reset" is telling me I'm losting > one connection from the pool and after losing all connection > I get "Could not retrieve connection info from pool" ? If so, > do I have to create a new connection and set it on the pool ? > > > Thank you, > > Eduardo. > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
