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.getPooledConnectionAndInfo(SharedPoolDataSource.java:169)
        at 
org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:631)
        at 
org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(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(SequencedHashMap.java:215)
        at 
org.apache.commons.collections.SequencedHashMap.removeImpl(SequencedHashMap.java:473)
        at 
org.apache.commons.collections.SequencedHashMap.remove(SequencedHashMap.java:460)
        at org.apache.commons.collections.LRUMap.get(LRUMap.java:93)
        at 
org.apache.commons.dbcp.datasources.SharedPoolDataSource.getUserPassKey(SharedPoolDataSource.java:176)
        at 
org.apache.commons.dbcp.datasources.SharedPoolDataSource.getPooledConnectionAndInfo(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(JtdsStatement.java:332)
        at 
net.sourceforge.jtds.jdbc.JtdsStatement.executeUpdate(JtdsStatement.java:723)
        at 
net.sourceforge.jtds.jdbc.JtdsStatement.executeUpdate(JtdsStatement.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.

Reply via email to