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]

Reply via email to