[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