Hallo ich habe eine merkwürdigen Effekt mit einem rmi-Fileserver.
Startet auf einem Linuxserver(SLES8, java 1.4) und läuft schon seit Monaten ohne Probleme.
Server(Auszug)
FileInterface fi = new FileImpl("FileServer");
Naming.rebind("//127.0.0.1/FileServer", fi);
Letzte Woche haben wir einen neuen Switch bekommen und mußten den Rechner auch neu starten.
Seitdem dauert die Übertragung der Files ewig (vorher <sec jetzt teilweise >30 sec. für eine <50k-Datei in einem 100MBit Netz)
Client WXP und LINUX (Auszug)
String name = "//" + hostName + "/FileServer";
FileInterface fi = (FileInterface)Naming.lookup(name);
byte[] filedata = fi.downloadFile(remoteFileName);
File file = new File(lokalFileName);
BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(file.getPath()));
output.write(filedata, 0, filedata.length);
output.flush();
output.close();
Teilweise bekomme ich folgende exception:
FileServer exception: error during JRMP connection establishment; nested exception is:
java.net.SocketTimeoutException: Read timed out
java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
java.net.SocketTimeoutException: Read timed out
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
...
Auf dem Server läuft keine Firewall, der DNS ist auch erreichbar, andere Aktionen Filesystem/Netzwerk sind normal.
Welche Vorraussetzung(Basisdienste) braucht genau rmi? Habt ihr ne IDEE!
Brauche dringend nen guten Tip!!