For some reason, it looks like OJB doesn't know when a connection has been
closed, or there is something wrong with my setup. I'm using OJB rc5,
with Oracle 9.2.0, and ojdbc4.jar (for JDK 1.4.x). It seems that when the
app is not used and left idle, that connections are closed, but then when
it is hit again, it tries to use the connections, throws the exception,
and then notes the socket as closed.
here is my repository_database entry:
<!-- Datasource for Acronyms -->
<jdbc-connection-descriptor
jcd-alias="acronyms"
default-connection="true"
platform="Oracle"
jdbc-level="2.0"
driver="oracle.jdbc.OracleDriver"
protocol="jdbc"
subprotocol="oracle"
dbalias="thin:@hpspdb1:1521:HPSPDB"
username="uname"
password="upass"
eager-release="true"
batch-mode="false"
useAutoCommit="0"
ignoreAutoCommitExceptions="true">
<connection-pool maxActive="1"
maxIdle="2"
maxWait="3"
minEvictableIdleTimeMillis="4"
numTestsPerEvictionRun="5"
testOnBorrow="true"
testOnReturn="true"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="6"
whenExhaustedAction="2"
validationQuery=""
logAbandoned="true"
removeAbandoned="true"
removeAbandonedTimeout="8"/>
<sequence-manager
className="org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl">
<attribute attribute-name="grabSize" attribute-value="100"/>
<attribute attribute-name="autoNaming" attribute-value="true"/>
<attribute attribute-name="globalSequenceId" attribute-value="false"/>
<attribute attribute-name="globalSequenceStart" attribute-value="10000"/>
</sequence-manager>
</jdbc-connection-descriptor>
here is the exception:
java.sql.SQLException: Io exception: Socket closed
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at
oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:389)
at
oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:413)
at
oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:119)
at
oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:92)
at
oracle.jdbc.driver.OracleConnection.privatePrepareStatement(OracleConnection.java:950)
at
oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.java:802)
at
org.apache.ojb.broker.accesslayer.StatementsForClassImpl.prepareStatement(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.StatementsForClassImpl.prepareStatement(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.StatementsForClassImpl.getPreparedStmt(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown
Source)
at org.apache.ojb.broker.accesslayer.RsIterator.<init>(Unknown
Source)
at
org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknown
Source)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
Source)
at gov.hhs.acronyms.sql.AcronymDAO.selectAcronyms(AcronymDAO.java:80)
at
gov.hhs.acronyms.actions.SearchAction.execute(SearchAction.java:68)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:165)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
at
com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:113)
at
com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:190)
at
com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:177)
at
com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:221)
at
com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:253)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:305)
at com.caucho.util.ThreadPool.run(ThreadPool.java:273)
at java.lang.Thread.run(Thread.java:534)
org.apache.ojb.broker.PersistenceBrokerSQLException:
java.sql.SQLException: Io exception: Socket closed
at
org.apache.ojb.broker.accesslayer.StatementsForClassImpl.getPreparedStmt(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown
Source)
at org.apache.ojb.broker.accesslayer.RsIterator.<init>(Unknown
Source)
at
org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknown
Source)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown
Source)
at gov.hhs.acronyms.sql.AcronymDAO.selectAcronyms(AcronymDAO.java:80)
at
gov.hhs.acronyms.actions.SearchAction.execute(SearchAction.java:68)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:165)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
at
com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:113)
at
com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:190)
at
com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:177)
at
com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:221)
at
com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:253)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:305)
at com.caucho.util.ThreadPool.run(ThreadPool.java:273)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.sql.SQLException: Io exception: Socket closed
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at
oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:389)
at
oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:413)
at
oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:119)
at
oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:92)
at
oracle.jdbc.driver.OracleConnection.privatePrepareStatement(OracleConnection.java:950)
at
oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.java:802)
at
org.apache.ojb.broker.accesslayer.StatementsForClassImpl.prepareStatement(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.StatementsForClassImpl.prepareStatement(Unknown
Source)
... 30 more
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]