0 Replies Latest reply on Dec 12, 2002 9:11 AM by Rob

    Oracle Connection Pool Timeout ?

    Rob Newbie

      Hello: 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