My mail's been screwy, FWIW, I've fixed it. it was my fault. On a select statement, I had not opened and closed the transaction properly and it left orphaned connections out there, which got closed at some point, however it seems OJB was not aware of it, and it tried to reuse them and it failed.
Thanks R [EMAIL PROTECTED] said: > 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] > -- Robert S. Sfeir [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
