[jcifs] Timeout waiting for response from server
Moerk, Detlev
moed at konradin.de
Fri Jan 9 14:30:20 GMT 2004
Hello everybody,
I'm trying to use jcifs to extend the features of a Oracle Database.
File operations are limited if you work with stored procedures inside
the DB.
So I try to extend the possibilities with java stored functions that
do the file operations.
A very nice feature would be to use cifs filesystems because Oracle
DBs often run on a unix box in aheterogenous environment.
I downloaded jcifs Version 7.15 (also tested with 7.18 and 8.0b) and
imported the jar into the db.
I wrote some covering java methods to copy files between filesystems
(local to local,local to smb, smb to smb, smb to local) and the
pl/sql functions to call the methods.
Everything works fine if I test my methods from a Java IDE outside
the DB.
If I test I load exactly the same code into the DB and execute it,
it runs exactly one time. If I call the programm a second time,
I get the "Timeout waiting for response from server" Exception.
Difference is
outside the db the programm finishes and th JVM also finishes.
Inside the DB
the programm finishes but the JVM is still loaded (Oracle
Documentation).
If I look at the Jcifs Server (Samba on linux or W2K Server) I can
see the connection is still alive.
And If I start the program again, jcifs also recognices that there is
a open connection (I enabled all Logs to see that) but it seems
something on the socket is damaged because there is no response even
if I increase socketTimeout to 60000 (60 s).
When the Exception is raised, the socket is closed and the next time
everything works fine again.
As far as I can see there is no method in jcifs to close the
socket(connection) explicit.
I'm new to java so maybe someone can give me a hint why the JVM
inside a Oracle DB remembers some object states over calls.
Thanks
Detlev
More information about the jcifs
mailing list