I am using OBJ 0.99 with Oracle 8.1.7.
I am using an RMI client that connect to an RMI server along with a
request in XML (carrying method name and the parameters). This RMI
server uses OJB for persistence.
The problem is like this:
1. Say I added a record, it is saved. While the application (server
side) runs, I can update that record with no problem.
2. With a fresh run of the application (server-side), I can update
1 old record. Any subsequent attempt to update an existing record causes
the following exception. The only way I can run application (client) is
restarting the server application.
Can anyone shed any light?
[org.apache.ojb.broker.accesslayer.StatementsForClassImpl] ERROR: Io
exception:
Socket closed
java.sql.SQLException: Io exception: Socket closed
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java)
at
oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java)
at
oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java)
at
oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
ment.java)
at
oracle.jdbc.driver.OracleConnection.privatePrepareStatement(OracleCon
nection.java)
at
oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection
.java)
at
org.apache.ojb.broker.accesslayer.StatementsForClassImpl.prepareState
ment(Unknown Source)
at
org.apache.ojb.broker.accesslayer.StatementsForClassImpl.getPreparedS
tmt(Unknown Source)
at
org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStateme
nt(Unknown Source)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown
Source)
at org.apache.ojb.broker.accesslayer.RsIterator.<init>(Unknown
Source)
at
org.apache.ojb.broker.singlevm.RsIteratorFactoryImpl.createRsIterator
(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getRsIteratorFro
mQuery(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getIteratorFromQ
uery(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQ
uery(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQ
uery(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQ
uery(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQ
uery(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObjectByQuery
(Unknown Source)
at
org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getObjectB
yQuery(Unknown Source)
at
com.spectrum.spsoft.spintre.eel.inv.sb.EditMaterialBean.<init>(Unknow
n Source)
at java.lang.reflect.Constructor.newInstance(Native Method)
at
com.spectrum.spsoft.spintre.eel.common.xml.ActionBean.loadAction(Unkn
own Source)
at
com.spectrum.spsoft.spintre.eel.common.xml.ActionBuilder.processXml(U
nknown Source)
at
com.spectrum.spsoft.spintre.eel.common.rmi.server.XMLServiceImpl.disp
atchXML(Unknown Source)
at java.lang.reflect.Method.invoke(Native Method)
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown
Source)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Sour
ce)
at java.lang.Thread.run(Unknown Source)
Regards,
Wahid Sadik
PROGRAMMER,
Spectrum Engineering Consortium Ltd.