RMI - Connection Problem

mavinatic

Bekanntes Mitglied
Hallo Java Community,

Ich bin drauf und dran mich mi JavaRMI mich einzuarbeiten bei nem simplen Beispiel fängt es aber schon an. Ich bekomme nicht mal eine Methode aufgerufen :( Könnt ihr mir helfen da ein paar Tips geben wo es hängt? Sind wirklich nur RMI Basics

MyInterface:
Java:
package de.ServerDemo.Interfaces;

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface NiSConnection extends Remote {
	public int getValue() throws RemoteException;
}

ServerImpl.java
Java:
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

import de.ServerDemo.Interfaces.NiSConnection;


public class ServerImpl implements NiSConnection {
	private int value;
	
	public ServerImpl() throws RemoteException {
		this.value = 3;
	}

	@Override
	public int getValue() throws RemoteException {
		// TODO Auto-generated method stub
		return this.value;
	}

}

ServerProc
Java:
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.RemoteServer;
import java.rmi.server.UnicastRemoteObject;

import de.ServerDemo.Interfaces.NiSConnection;


public class ServerProc {
	
	public static void main(String[] args) throws RemoteException {
		LocateRegistry.createRegistry( Registry.REGISTRY_PORT ); 
		 
	    ServerImpl server = new ServerImpl(); 
	    NiSConnection stub = (NiSConnection) UnicastRemoteObject.exportObject( server, 0 );  
	 
	    Registry registry = LocateRegistry.getRegistry(); 
	    registry.rebind( "NiSConnection", stub ); 
	 
	    System.out.println( "Server angemeldet" ); 
	}
}
t

Das war die Serverseite, die funktioniert auch noch, aber wenn ich jetzt mit meinem Client connecten will bekomm ich eine Execption:

Java:
Exception in thread "main" java.rmi.NotBoundException: server
        at sun.rmi.registry.RegistryImpl.lookup(Unknown Source)
        at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
        at sun.rmi.server.UnicastServerRef.oldDispatch(Unknown Source)
        at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
        at sun.rmi.transport.Transport$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Unknown Source)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
        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.main(Main.java:30)

Mein Client:

Java:
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws UnknownHostException, IOException, URISyntaxException, NotBoundException {
        // TODO code application logic here
        Registry registry = LocateRegistry.getRegistry();
        NiSConnection adder = (NiSConnection) registry.lookup("server");
        System.out.println( adder.getValue() );
    }


Ich komm einfach nicht weiter und verstehs nicht :/ Könnt ihr mir einwenig helfen?
 

Michael...

Top Contributor
Server hat gesagt.:
Java:
registry.rebind( "NiSConnection", stub );
Client hat gesagt.:
Java:
NiSConnection adder = (NiSConnection) registry.lookup("server");
Exception hat gesagt.:
Java:
Exception in thread "main" java.rmi.NotBoundException: server
Fällt Dir was auf? ;-)
 

mavinatic

Bekanntes Mitglied
ich binde das Interface wieder ein und frage den server ab!?

aber wenn ich server einbinde bekomme ich folgene Exception:

Java:
Exception in thread "main" java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
        java.lang.ClassNotFoundException: de.ServerDemo.Interfaces.NiSConnection (no security manager: RMI class loader disabled)
        at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
        at client.Main.main(Main.java:30)
Caused by: java.lang.ClassNotFoundException: de.ServerDemo.Interfaces.NiSConnection (no security manager: RMI class loader disabled)
        at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:535)
        at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628)
        at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294)
        at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238)
        at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1531)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1493)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        ... 2 more
 
Zuletzt bearbeitet:

mavinatic

Bekanntes Mitglied
LocateRegistry.createRegistry( Registry.REGISTRY_PORT );

Registry registry = LocateRegistry.getRegistry();
registry.rebind( "server", stub );
 

mvitz

Top Contributor
Kurzes googlen nach deiner Fehlermeldung --> Security Tutorial

Du musst also einen RMISecurityManager im Client setzen, und dann beim starten des Clients noch Argumente (Policy File, Codebase) mitgeben.
 

mavinatic

Bekanntes Mitglied
wie ich es nicht verstehe, ich muss ein File einbinden das dem Client alle rechte gibt zb...

Java:
grant{
	permission java.security.AllPermission;
};

Aber das mit der CodeBase versteh ich nicht und kann ich das Policy File nicht in dem Quelltext angeben?
 
T

tuxedo

Gast
Java:
LocateRegistry.createRegistry( Registry.REGISTRY_PORT );         
       ....
Registry registry = LocateRegistry.getRegistry();

Öhm, createRegistry() liefert doch eine Registry zurück (LocateRegistry (Java Platform SE 6)). Warum also weiter unten dann nochmal mit LocateRegistry arbeiten und eine registry "suchen"? Wenn du die oben erzeugte Registry unten nutzt, müsstest du dir den Security-Krempel sparen können.

Also dann so:

Java:
Registry registry = LocateRegistry.createRegistry( Registry.REGISTRY_PORT );         
       ....


Oder eben mal SIMON anschauen :)

- Alex
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Handle Connection Problem Netzwerkprogrammierung 3
B Client/Server Connection Problem Netzwerkprogrammierung 2
D Client Server Problem, Methode readline() löst SocketException "Connection reset" aus Netzwerkprogrammierung 8
X URL connection Problem Netzwerkprogrammierung 3
tfa RMI-Problem: Connection refused to host: 127.0.0.2 Netzwerkprogrammierung 4
M Problem: connection abbrechen und login erkennen Netzwerkprogrammierung 2
B RMI Connection Problem Netzwerkprogrammierung 13
x46 Connection reset by peer: socket write error Netzwerkprogrammierung 6
F Probleme mit Connection Reset bei Telnet Verbindung Netzwerkprogrammierung 1
Thalion TCP Connection zu langsam Netzwerkprogrammierung 2
S Client Server Connection Netzwerkprogrammierung 4
R Socket InputStream readObject > Connection Reset Netzwerkprogrammierung 3
L ssh connection; Zugriff auf 'screen' Prozess Netzwerkprogrammierung 5
C Client connection per Portforwarding auf einen lokalen Serverport Netzwerkprogrammierung 3
M Connection refused? Netzwerkprogrammierung 2
D Connection refused Netzwerkprogrammierung 3
D Socket Socket absichtlich so schließen, dass Gegenseite java.net.SocketException: Connection reset wirft Netzwerkprogrammierung 4
C Socket Connection refused bei Internetverbindung - Welcher Port? Netzwerkprogrammierung 5
K Socket Exception Connection reset Netzwerkprogrammierung 9
VfL_Freak Socket SocketException: Connection reset Netzwerkprogrammierung 11
C Socket Socket: Connection timed out Netzwerkprogrammierung 3
T Empfangen klappt Senden nicht - Connection timed out Netzwerkprogrammierung 12
H java.net.ConnectException: Connection refused Netzwerkprogrammierung 3
Z Socket Connection reset by peer nur per IP nicht über localhost Netzwerkprogrammierung 13
RELAXccc HTTP Connection timed out: connect ?an was kann es liegen? Netzwerkprogrammierung 4
G Exception: Connection reset by peer: socket write error Netzwerkprogrammierung 2
N Socket verliert die Connection. Netzwerkprogrammierung 4
A UCP Connection über Proxy möglich? Netzwerkprogrammierung 7
trash HTTP Internet Connection bei Proxy ?! Netzwerkprogrammierung 3
H RMI Connection refused bei RMI-Registry Netzwerkprogrammierung 10
S SSH-Connection - Auto-Vervollständigung mittels TAB Netzwerkprogrammierung 4
A Chatprogramm: Connection refused Netzwerkprogrammierung 4
T RMI RMI und VPN - callbackObject Connection refused Netzwerkprogrammierung 13
A Socket Client Server Connection wird aufgebaut aber keine daten geschickt. Netzwerkprogrammierung 5
J Connection Speed Test ohne Applet Netzwerkprogrammierung 5
0din Connection refused bei localhost?! Netzwerkprogrammierung 7
M FTP-Connection über FTP-Proxy Netzwerkprogrammierung 20
T Wie connection Reset abfragen/abfangen? Netzwerkprogrammierung 10
A RMI java.rmi.ConnectException: Connection refused to host: 1 Netzwerkprogrammierung 4
M chat funktioniert nicht (Connection refused: connect) Netzwerkprogrammierung 3
G InputStreamReader lässt TCP-Connection offen Netzwerkprogrammierung 9
R ConnectException: Connection refused to host: 192.168.1.4 ? Netzwerkprogrammierung 8
sparrow Connection Reset bei Webserver, Java WebStart als Client Netzwerkprogrammierung 9
G Connection zu MySQL ohne ODBC Netzwerkprogrammierung 8
IT-MaD Connection reset by peer: socket write error Netzwerkprogrammierung 2
B RMI & Connection refused to host Netzwerkprogrammierung 12
G httpUnit: Connection timed out Netzwerkprogrammierung 3
lhein java.io.IOException: Unable to establish loopback connection Netzwerkprogrammierung 4
Paule Connection Applet Servlet ohne Socket bzw RMI Netzwerkprogrammierung 2
B Multithreaded Server: Connection reset Netzwerkprogrammierung 4
T JDBC Verbindungsabbruch (Connection reset) Netzwerkprogrammierung 2
M SocketException: Connection reset Netzwerkprogrammierung 10
G MAC / IP Connection Netzwerkprogrammierung 10
M Umlaute gehen bei URL Connection verloren Netzwerkprogrammierung 6
M seltsam: java.net.SocketException: Connection reset Netzwerkprogrammierung 1
T Dateien wia P2P Connection versenden Netzwerkprogrammierung 2
D Socketverbindung schlägt fehl - Connection refused: connect Netzwerkprogrammierung 4
H java.net.SocketException: Software caused connection abort Netzwerkprogrammierung 4
R FTP Connection zu Server Netzwerkprogrammierung 4
M Ausgangsport für FTp-Connection festlegen??? Netzwerkprogrammierung 3
I Socket Problem mit den WebSocket Antworten der Discord API Netzwerkprogrammierung 0
K Java Websocketserver Problem | Android to Pi Netzwerkprogrammierung 1
C RMI Produzent-Verbraucher-Problem - Code review Netzwerkprogrammierung 12
B Socket Bilder verschicken via Sockets. Heap-Problem. Netzwerkprogrammierung 2
S Problem bei dem Bluetoothverbindungsaufbau Netzwerkprogrammierung 2
G Server-Client IO Problem Netzwerkprogrammierung 6
M Netty - TCP Problem Netzwerkprogrammierung 4
L Socket Problem mit Server Netzwerkprogrammierung 1
J Chat Server starten über GUI problem Netzwerkprogrammierung 4
M Problem bei Socket (MultiplayerSpiel) Netzwerkprogrammierung 4
M Socket CDI, Websocket reference Problem ! Netzwerkprogrammierung 2
Shams Problem mit Eventbus in Verbindung mit Server Netzwerkprogrammierung 0
G apache httpClient Problem. Netzwerkprogrammierung 5
H Problem mit ObjectStreams Netzwerkprogrammierung 3
A Problem beim Senden von Client zu Server Netzwerkprogrammierung 10
D Socket BufferedWriter/Reader Problem Netzwerkprogrammierung 1
Maxim6394 Problem mit Socks5 Implementierung Netzwerkprogrammierung 0
E HttpUrlConnection Cookie Problem Netzwerkprogrammierung 0
X Problem mit vielen Bytes über Socket Netzwerkprogrammierung 23
O 4Gewinnt Multiplayer - Netzwerk Problem (TCP) Netzwerkprogrammierung 1
A Socket Socket-Problem - Object wird nicht übertragen Netzwerkprogrammierung 3
R Problem beim Programmieren eines Chatprogramms Netzwerkprogrammierung 5
E einfaches Problem: Session-Handling bei Servlets Netzwerkprogrammierung 5
G Problem mit einem FileWatcher Netzwerkprogrammierung 7
T Socket Server starten Thread Problem Netzwerkprogrammierung 12
G Problem mit STATIC-Verständnis Netzwerkprogrammierung 8
S Umstellung AS400 auf Postgre - Problem beim Arbeiten mit Metadaten Netzwerkprogrammierung 2
J Facelets Include Rendered Problem Netzwerkprogrammierung 2
J Socket Problem mit C++/Java Netzwerkprogrammierung 20
P Problem mit Datagram-Sockets Netzwerkprogrammierung 2
G Socket NIO2 Problem mit AsynchronousSocketChannel beim Schließen Netzwerkprogrammierung 3
G Cookie Verwaltungs Problem nach Login auf InetSeite (Wo utma-Cookie?) Netzwerkprogrammierung 18
C Socket Problem mit ObjectInput/OutputSream Netzwerkprogrammierung 7
B Socket Problem mit Netzwerkchat Netzwerkprogrammierung 21
D RMI Problem beim shutdown von verteilter CORBA-Anwendung Netzwerkprogrammierung 6
Maxim6394 ipv6 Problem Netzwerkprogrammierung 2
Maxim6394 Proxyserver Performance Problem Netzwerkprogrammierung 11
M Problem Client - Server Sockets: .ready() wird nie true! Netzwerkprogrammierung 6
C Socket Problem mit ObjectInput/OutputSream Netzwerkprogrammierung 5
B RMI und Problem mit rmic-Tool Netzwerkprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben