Oracle Connection Pool Timeout ?
rbnb Dec 12, 2002 9:11 AMHello: I am using JBoss 2.4.6, Oracle 9ir2, both running on Solaris 8. I am using the Oracle thin driver: ojdbc14.jar
I have set up a Datasource, in the jcml. I have a problem after the server sits idle for a couple of days
Flow:
Some action to kick off process
Get connection for Datasource
code: Connection conn = dataSource.getConnection();
Use it: do my transaction(s)
the return it to the pool
code: finally {
try { conn.close(); } catch (Exception e) {}
}
When the connection is used constantly there does not seem to be a problem, and the code is being executed. My problems start after the server sits idle for a couple of days (notice the time stamp in the log files), the next time I go to grab the connection and execute a statement I get the following:
[2002-12-06 10:28:27,996,Distributer] some message
[2002-12-10 13:40:22,378,Distributer] Stack trace
java.sql.SQLException: No more data to read from socket
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1160)
at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:963)
at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:893)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:369)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
at oracle.jdbc.ttc7.TTC7Protocol.executeFetch(TTC7Protocol.java:955)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2520)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:527)
at org.jboss.pool.jdbc.PreparedStatementInPool.executeQuery(PreparedStatementInPool.java:71)
Here is how the Datasource is set up in the jcml:
<attribute name="Properties"
jdbc:oracle:thin:@host:1521:sid
1200000
user
10
password
false
true
false
120000
1800000
false
false
1.0
0
DistributionDS
false
is it just a setting issue? Or am I looking at a problem with my in my code?
Thanks
Rob