I have an external (non-agent) Java program that connects to a Domino server using DIIOP. It creates a remote internet session, opens some databases, searches for documents, and creates objects equivalent to the documents.When it is done creating each copy of a document, it recycles the document. When it is completely done, it recycles each opened database and finally the session.
I have seen three types of exceptions from this program.
I’m trying to figure out what might cause them and what if anything I can do to prevent these situations from happening (and handle them better if they do).
It appears that the Session is being recycled. I know that there is a configurable timeout on Sessions. Doesn’t that timer reset every time you call a method on any Document or Database obtained from a Session - not just methods on the Session itself?
Exception #1 - Session timeout? - session being recycled now?
2006.11.08 02:03:09 VMP_VDSCDC (DataConnector) - (tpatterson): Throwable: java.net.SocketException: Connection reset: Connection closed: Host: 172.16.1.3 Port: 63148
org.omg.CORBA.COMM_FAILURE: java.net.SocketException: Connection reset: Connection closed: Host: 172.16.1.3 Port: 63148 vmcid: 0x0 minor code: 1 completed: Maybe
at lotus.priv.CORBA.iiop.IIOPConnection.purge_calls(Unknown Source)
at lotus.priv.CORBA.iiop.ReaderThread.run(Unknown Source)
Exception #2: Invalid object reference - session was already recycled?
2006.11.08 02:03:09 VDSC_DRIVER_NOTES (ServerLogWrapper) - NotesConnection.recycle()
org.omg.CORBA.INV_OBJREF: vmcid: 0x49423000 minor code: 2449 completed: No
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at lotus.priv.CORBA.iiop.ReplyMessage.getSystemException(Unknown Source)
at lotus.priv.CORBA.iiop.RepImpl.invoke(Unknown Source)
at lotus.priv.CORBA.portable.ObjectImpl._invoke(Unknown Source)
at lotus.domino.corba._IDatabaseStub.recycle(Unknown Source)
at lotus.domino.cso.Base.recycle(Unknown Source)
at com.vaultus.vms.domino.driver.NotesDatabase.recycle(NotesDatabase.java:244)
at com.vaultus.vms.domino.driver.NotesDbDirectory.recycle(NotesDbDirectory.java:228)
at com.vaultus.vms.domino.driver.NotesConnection.recycle(NotesConnection.java:407)
Exception #3: Bulk recycler is not running - session already recycled?
Caused by: NotesException: Bulk recycler is not running
at lotus.domino.cso.RecycleThread.checkError(Unknown Source)
at lotus.domino.cso.Base.checkValid(Unknown Source)
at lotus.domino.cso.Document.validate(Unknown Source)
at lotus.domino.cso.Document.getUniversalID(Unknown Source)
at com.vaultus.vms.domino.driver.NotesDocument.getUniversalID(NotesDocument.java:54)
at com.vaultus.vms.domino.driver.NotesDocument.close(NotesDocument.java:74)
at com.vaultus.vms.domino.driver.NotesDocument.release(NotesDocument.java:66)
Thanks for any help anyone can offer.
Chuck