RMI URL nicht gefunden

delphiking1980

Bekanntes Mitglied
Hallo,

ich habe in einem anderem Forum (ich hoffe man nimmt meine abtrönigkeit nicht übel) ein Mini Beispiel zu RMI gefunden welches ich auch erfolgreich umsetzen konnte nur jetzt zu meiner Frage da ich ja beim
Java:
Naming.lookup(URL)
eine URL angeben kann wollte ich mal folgendes probieren :
Java:
ITimeService service = (ITimeService)registry.lookup("//localhost:1099/timeservice");
nur dann bekomme ich eine Exception
Java:
java.rmi.NotBoundException: //localhost:1099/timeservice
	at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:106)
	at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
	at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:386)
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
	at sun.rmi.transport.Transport$1.run(Transport.java:159)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:359)
	at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
	at Client.main(Client.java:18)


Mein Code ist folgender :

Server Klasse :
Java:
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
import java.util.Date;

/**
 * @author Administrator
 * 
 *         TODO Explain me
 */
public class Server implements ITimeService {

	public static void main(String[] args) {
		new Server().start();
	}

	/**
     * 
     */
	private void start() {
		try {
			// Erstellt eine RMIRegistry local auf der VM
			LocateRegistry.createRegistry(1099);
			ITimeService serviceStub = (ITimeService) UnicastRemoteObject.exportObject(this);
			// Hohlt das Registry Objekt
			Registry registry = LocateRegistry.getRegistry();
			// Bindet den TimeService in die RMIRegistry ein
			registry.rebind("timeservice", serviceStub);
		} catch (RemoteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see de.tutorials.service.ITimeService#getCurrentDate()
	 */
	public Date getCurrentDate() throws RemoteException {
		System.out.println("server received call @" + System.currentTimeMillis());
		return new Date();
	}
}

Client Klasse :
Java:
import java.rmi.AccessException;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
 
/**
 * @author Administrator
 *
 * TODO Explain me
 */
public class Client {
 
    public static void main(String[] args) {
        try {
            Registry registry = LocateRegistry.getRegistry();
            ITimeService service = (ITimeService)registry.lookup("//localhost:1099/timeservice");
            System.out.println(service.getCurrentDate());
            
        } catch (AccessException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (RemoteException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (NotBoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

und der vollständigkeitshalber das Interface :
Java:
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Date;

/**
 * @author Administrator
 * 
 *         TODO Explain me
 */
public interface ITimeService extends Remote {
	public Date getCurrentDate() throws RemoteException;
}
 

Peter W. Marth

Aktives Mitglied
Hallo,

Der Port 1099 ist der Default Port der RMI-Registry und muss daher nicht beim Lookup angegeben werden.

Server
Java:
            registry.rebind( "/timeservice", serviceStub );

Client
Java:
            ITimeService service = ( ITimeService )registry.lookup( "/timeservice" );

Läuft die RMI-Registry nicht auf dem Default-Port, gibt man beim bind/rebind und beim Lookup auch Host und Port an:

Server
Java:
            registry.rebind( "//localhost:4711/timeservice", serviceStub );

Client
Java:
            ITimeService service = ( ITimeService )registry.lookup( "//localhost:4711/timeservice" );
 

Peter W. Marth

Aktives Mitglied
Hallo,

noch eine Korrektur: beim direkten Lookup in der RMI-Registry wird der Lookup-Name überhaupt nicht als URL interpretiert,
Host und Port werden da ja bereits mit LocateRegistry.getRegistry(String host, int port) bestimmt.

Eine URL kann man aber mit Naming.lookup verwenden:


Server
Java:
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
import java.util.Date;

public class Server extends UnicastRemoteObject implements ITimeService {

    public static void main( String[] args ) throws InterruptedException, RemoteException {
        new Server().start();
    }

    protected Server() throws RemoteException {
        super();
    }

    public Date getCurrentDate() throws RemoteException {
        System.out.println( "server received call @" + System.currentTimeMillis() );
        return new Date();
    }

    /**
     * 
     */
    private void start() {
        try {
            Registry registry = LocateRegistry.createRegistry( 4711 );
            registry.rebind( "timeservice", this );
        } catch( RemoteException e ) {
            e.printStackTrace();
        }

    }
}

Client
Java:
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;

public class Client {

    public static void main( String[] args ) {
        try {
            ITimeService server = ( ITimeService )Naming.lookup( "//localhost:4711/timeservice" );
            System.out.println( server.getCurrentDate() );
        } catch( MalformedURLException e ) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch( RemoteException e ) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch( NotBoundException e ) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P RMI stub wird nicht gefunden Netzwerkprogrammierung 8
R Socket SSL-Connect in Servlet - keystore wird nicht gefunden Netzwerkprogrammierung 2
S anderer Rechner wird nicht gefunden Netzwerkprogrammierung 20
M URL Handler wird nicht gefunden Netzwerkprogrammierung 6
P RMI - meine Stub-Class wird nicht gefunden Netzwerkprogrammierung 9
S rmi ClassNotFoundException Stub-Klasse nicht gefunden. Netzwerkprogrammierung 6
JavaDevOp Socket Status von UDP-Port prüfen (PortUnreachableException funktioniert nicht?) Netzwerkprogrammierung 32
A Bei FTP Übertragung wird Datei nicht komplett übertragen Netzwerkprogrammierung 2
B Multicast-Nachrichten-Empfang funktioniert nicht Netzwerkprogrammierung 5
M JAX-WS unter Java 17 plötzlich nicht mehr möglich Netzwerkprogrammierung 5
S BufferedStream funktioniert nicht immer Netzwerkprogrammierung 7
T OutputStream kommt nicht an Netzwerkprogrammierung 18
G UDP Packet empfangen funktioniert nicht. Netzwerkprogrammierung 16
L30nS RMI RMI-Server kann Dialog nicht volkommen anzeigen Netzwerkprogrammierung 2
L Server-Socket liest Input-Stream nicht Netzwerkprogrammierung 5
Tobero Java serversocket nicht nur zuganglich für localhost Netzwerkprogrammierung 6
T String von Client zu Server kommt nicht an Netzwerkprogrammierung 92
S .jar läuft local, aber nicht remote (SSH/Terminal) Netzwerkprogrammierung 10
Z Kann nicht Daten vom Server lesen Socket Netzwerkprogrammierung 10
J SSL haut nicht hin Netzwerkprogrammierung 3
A Socket-Anwendung (BufferedWriter/Reader liest nicht aktuellen Wert) Netzwerkprogrammierung 6
platofan23 Socket Java Socket mit DynDns nicht erreichbar Netzwerkprogrammierung 6
J Wechsel auf Jdk13 , sfpt funktionier nicht mehr Netzwerkprogrammierung 2
Dann07 Proxy funktioniert nicht so wie gewünscht! Netzwerkprogrammierung 18
B RESTful API weiß nicht weiter Netzwerkprogrammierung 2
L Kann VM nicht ueber Host Name finden Netzwerkprogrammierung 0
V Ich finde den Fehler nicht... Netzwerkprogrammierung 2
H Einfacher Server funktioniert nicht Netzwerkprogrammierung 1
T HTTPS-Requests an Server: POST-Parameter kommen nicht an Netzwerkprogrammierung 5
S Socket Webserver mit SSLSocket geht nicht Netzwerkprogrammierung 1
N Test Servlet funktioniert nicht Netzwerkprogrammierung 11
M com.google.gson wird nicht erkannt Netzwerkprogrammierung 2
M Socket Server antwortet dem Client nicht Netzwerkprogrammierung 6
J FTP Upload über Proxy funktioniert nicht Netzwerkprogrammierung 1
C Mini Client-Server-Anwendung funktioniert nicht Netzwerkprogrammierung 8
D FTP ListNames() funktinoniert nicht richtig Netzwerkprogrammierung 2
Thallius JDBC getConnection kommt nicht zurück Netzwerkprogrammierung 1
KingSquizzi3 Website parsen mit Hilfe von jsoup funktioniert nicht Netzwerkprogrammierung 3
J Java Server empfängt php inhalt nicht Netzwerkprogrammierung 1
V TCP Client funktioniert auf Emulator aber nicht auf Smartphone Netzwerkprogrammierung 5
P RMI - Neue eigene Instanz für jeden Aufruf auf nicht serialisierbares Objekt - wie? Netzwerkprogrammierung 0
F FTP FTPClient Datei lässt sich nicht öffnen Netzwerkprogrammierung 4
F Reader/ Writer werden nicht geschlossen Netzwerkprogrammierung 2
Z Verbindung zwischen 2 Rechnern über ServerSockets nicht möglich Netzwerkprogrammierung 3
F Java Server Scanner oder InputStream kann nicht gelsesen werden! Netzwerkprogrammierung 6
R Socket bei server.accept(); gehts nicht weiter Netzwerkprogrammierung 2
K Server liest Daten nicht Netzwerkprogrammierung 6
N RMI "RMI über Lan funktioniert nicht" & "RMI-Server im Lan scannen" Netzwerkprogrammierung 13
G Mail senden funktioniert nicht mit SSL Netzwerkprogrammierung 7
L IText mit Servlets, funktioniert nicht Netzwerkprogrammierung 0
E Gruppenchat: Über HTTPS oder nicht? Netzwerkprogrammierung 5
P nanoHttp upload.html page lädt nicht Netzwerkprogrammierung 4
M Byte Array kommt nicht an Netzwerkprogrammierung 0
X Daten können nicht sofort empfangen werden Netzwerkprogrammierung 1
D TCP Socket funktioniert nicht richtig Netzwerkprogrammierung 3
K ByteArray über Netzwerk senden klappt nicht Netzwerkprogrammierung 5
D Socket UDP Client reagiert nicht auf spontane Meldungen Netzwerkprogrammierung 5
C Servlet erstellen klappt nicht Netzwerkprogrammierung 3
A Socket Socket-Problem - Object wird nicht übertragen Netzwerkprogrammierung 3
S Socket (client) verbindet nicht Netzwerkprogrammierung 6
B Methoden und Konstruktoren von Java.net package werden nicht geladen Netzwerkprogrammierung 2
L Email versenden mit Java funktioniert nicht, Fehlermeldungen: MessagingException & SocketException Netzwerkprogrammierung 10
L Server anpingen (Pingzeit) ?? Pingzeit wird nicht verändert Netzwerkprogrammierung 6
C Portscanner funktioniert nicht! Netzwerkprogrammierung 8
M JSP wird im gesamten Projekt nicht neugeladen Netzwerkprogrammierung 3
B HTTP Webseite unter IP-Addresse nicht aufrufbar - unter Domain schon Netzwerkprogrammierung 9
K Chatprogramm - Server funktioniert nicht Netzwerkprogrammierung 5
A Socket ASCii Zeichen werden nicht per udp übermittelt. please help . Netzwerkprogrammierung 6
J Erster Server-Client läuft auf lokalem Rechner problemlos. Zwei Rechner über das Internet nicht Netzwerkprogrammierung 8
H HTTP Header Response kann nicht ausgelesen werden Netzwerkprogrammierung 4
K Socket InputStream wird nicht erzeugt Netzwerkprogrammierung 4
G FTP FTP-Client funktioniert nicht bei Modem-Verbindungen Netzwerkprogrammierung 8
D JNLP über Webstart funktioniert nicht... Netzwerkprogrammierung 2
V Socket Objekte werden nicht aktualisiert Netzwerkprogrammierung 2
F Kann Klasse nicht zu Servlet casten Netzwerkprogrammierung 5
T Server und Client verbinden nicht Netzwerkprogrammierung 6
M HTTP File Upload mit Prozessbar Funktioniert nicht. Netzwerkprogrammierung 8
K Socket byte Schleife beendet nicht Netzwerkprogrammierung 9
J FTP FTP funktioniert nicht. Netzwerkprogrammierung 5
M Socket Exception tritt auf - weiß nicht weiter Netzwerkprogrammierung 3
L Socket Client empfängt nicht Netzwerkprogrammierung 6
das-mo Client/Server sendet nicht Netzwerkprogrammierung 7
M Socket InputStream liest nicht vollständig Netzwerkprogrammierung 7
S soap kann nicht zu 127.0.0.1:8090 unter Windows verbinden Netzwerkprogrammierung 2
F RMI einfacher Chat - Callbacks(?) funktionieren nicht Netzwerkprogrammierung 7
X Änderung des Objekts wird nicht serialisiert Netzwerkprogrammierung 9
M Socket TCP keep alive Exception wird nicht ausgelöst Netzwerkprogrammierung 11
T Empfangen klappt Senden nicht - Connection timed out Netzwerkprogrammierung 12
R Client funktioniert nicht Netzwerkprogrammierung 2
C HTTP Content-Length nicht übermittelt!? Netzwerkprogrammierung 7
J Socket Chatserver aus dem Internet nicht erreichbar Netzwerkprogrammierung 19
S UDP Broadcast - Pakete kommen nicht immer an Netzwerkprogrammierung 15
M Senden von Daten nicht direkt möglich? Netzwerkprogrammierung 6
N Socket geht auf Windows, aber auf Mac nicht ? Netzwerkprogrammierung 3
Z Socket Connection reset by peer nur per IP nicht über localhost Netzwerkprogrammierung 13
M while-Schleife funktioniert nicht bei Nachrichtempfang von Server Netzwerkprogrammierung 3
P Socket IRC Client nicht kompatibel mit Server Netzwerkprogrammierung 30
L Socket Chat funktioniert nicht Netzwerkprogrammierung 2
S Servlet - Datei kann nicht gelöscht werden Netzwerkprogrammierung 12
K RMI Angemeldetes Objekt nicht aktuell? Netzwerkprogrammierung 9

Ähnliche Java Themen

Neue Themen


Oben