Sorry if this is the wrong forum, but this sounds a lot like the same issue we are having, i.e., sporadic "SQLException: Closed connection" on connections coming right out of the pool.
We are using:
Oracle 10.2.0.1.0
Tomcat 5.5.17
AIX 5.3
Impossible to reproduce, but it happens often.
Did you ever figure this out? Could it be an issue with the Oracle driver?
Regards,
Marc
Xavier Naud wrote:
Hi,
We are having an issue with the Oracle JDBC Connection pool (Oracle 10g RAC) used with the tranql oracle adaptor 1.3 on WAS 2.0.0.2. (Geronimo 2.0.0.2-20080401)
The App server and DB server are 2 different boxes, ports 1521 (jdbc) and 6200 (ONS) are opened between those 2 servers.
The URL we use is:
>jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=yes)(ADDRESS=(PROTOCOL=TCP)(HOST=165365-ora1-vip.optaros.com)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=165373-ora2-vip.optaros.com)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=AHPROD1)))
the ONS Settings:
<config-property-setting name="ONSConfiguration">nodes=165365-ora1-vip.optaros.com:6200,165373-ora2-vip.optaros.com:6200</config-property-setting>
We get the connection, we tested the fail over it works.
The rest of the tranql connector is setup as follows:
...
<connectionmanager>
<local-transaction/>
<single-pool>
<max-size>100</max-size>
<min-size>5</min-size>
<blocking-timeout-milliseconds>10000</blocking-timeout-milliseconds>
<idle-timeout-minutes>60</idle-timeout-minutes>
<match-one/>
</single-pool>
</connectionmanager>
However, after a while, the pool gives us a connection but as soon as we try to use it, we get the following exception.
2008-06-23 16:46:47.733 WARN [GeronimoConnectionEventListener] connectionErrorOccurred called with null
java.sql.SQLException: Closed Connection
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at oracle.jdbc.driver.PhysicalConnection.createStatement(PhysicalConnection.java:755)
at oracle.jdbc.driver.PhysicalConnection.createStatement(PhysicalConnection.java:731)
at oracle.jdbc.OracleConnectionWrapper.createStatement(OracleConnectionWrapper.java:87)
at org.tranql.connector.jdbc.ConnectionHandle.createStatement(ConnectionHandle.java:201)
at com.mckesson.accesshealth.beans.StoreClaimBean.retrieveControlValues(StoreClaimBean.java:821)
at com.mckesson.accesshealth.payment.CheckRunAction.execute(CheckRunAction.java:154)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
We have no clue how to reproduce the error or what the problem is.
It seems that we are getting a "bad" connection from the pool. Not sure why
Help appreciated.
Xavier