RMI Problem auf Suse-Linux

MomaKalina

Grünschnabel
Hallo,

ich habe seit einiger Zeit ein kommisches Problem mit dem RMI auf einem Suse 9.1 Linux Rechner. Das Programm ist ein ganz einfachen HelloWorld-Programm.
Das Problem besteht beim Verbinden des Servers mit dem Registry:
Naming.rebind("/HelloServer",obj);

Und zwar: das Programm kommt bis zur diese Zeile,bleibt dort sehr lange
macht letzendlich nichts, kommt aber KEIN Fehler raus!

Wir haben noch einen Rechner mit dem selben Linux angerichtet und dort
das Programm getestet - läuft einwandfrei! Unter Windows läuft es auch!

Ich denke es liegt irgendwie an eine Einstellung von Linux, kenne mich aber dort
nicht so gut aus (Firewall ist ausgeschalltet, vielleicht irgendwelche Rechte)
Noch mal instellieren, wollen wir aber nicht, weil da auch Fileserver, CVS u.a.
laufen und zu viel Arbeit ist!

Hat jemand eine Ahnung woran es liegen könnte? Das kommischste ist, dass gar kein
Fehler kommt!

Vielen Dank

Vera
 
Hallo,

gerade habe ich es noch mal getestet und wirklich lange gewartet (ca. 5 min) und es hat doch einen Exception angezeigt. Bei dem echten Projekt (dieses HelloWorld Program habe ich nur zum testen geschrieben) zeigt kein Exception und bleibt nicht dort stehen, sondern führt es bis zum ende aus, doch ist letzendlich mit dem Registry nicht verbunden. Es wird mir aber helfen, wenn ich zumindest dieses Hello World zum laufen bringe.

Der Java -Code von aufrufender Klasse sieht so aus:
Code:
public class RegisterIt {
  
  //	  Registry registry;
  //	  public final static int STD_RMI_PORT = 1099;
  
  
  		public static void main(String args []){
  		try{
  
 //			 registry = LocateRegistry.createRegistry(STD_RMI_PORT);
 //			 registry = LocateRegistry.getRegistry("localhost", STD_RMI_PORT);
 //			 System.out.println("This is the registry: "+ registry);
  			    if (System.getSecurityManager() == null){
 					 //System.setProperty("java.security.policy","D:\\dev\\policy");
 					 System.setProperty("java.security.policy","/usr/policy"); // unter Suse
  			    System.setSecurityManager(new SecurityManager());
  				}
 				HelloServer obj=new HelloServer();
  			    System.out.println("Object instantiated: "+obj);
  			    System.out.println("HelloServer not bound");
 				Naming.rebind("/HelloServer",obj);
 			 System.out.println("HelloServer bound in registry");
  
  		}catch (Exception e){
  				System.out.println(e);
  				e.printStackTrace();
  		}
  
  }
  }

es bleibt bis zu System.out.println("HelloServer not bound"); stehen. Dann dauert es ca. 5min und kommt folgende Exception:

Object instantiated: HelloServer[UnicastServerRef [liveRef: [endpoint:[192.168.0.3:1133](local),objID:[0]]]]
HelloServer not bound
java.rmi.ConnectException: Connection refused to host: 192.168.0.3; nested exception is:
java.net.ConnectException: Connection timed out
java.rmi.ConnectException: Connection refused to host: 192.168.0.3; nested exception is:
java.net.ConnectException: Connection timed out
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:574)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:185)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306)
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
at java.rmi.Naming.rebind(Naming.java:160)
at RegisterIt.main(RegisterIt.java:36)
Caused by: java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:364)
at java.net.Socket.connect(Socket.java:507)
at java.net.Socket.connect(Socket.java:457)
at java.net.Socket.<init>(Socket.java:365)
at java.net.Socket.<init>(Socket.java:178)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:569)
... 6 more
 
Zurück