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:
ServerImpl.java
ServerProc
t
Das war die Serverseite, die funktioniert auch noch, aber wenn ich jetzt mit meinem Client connecten will bekomm ich eine Execption:
Mein Client:
Ich komm einfach nicht weiter und verstehs nicht :/ Könnt ihr mir einwenig helfen?
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" );
}
}
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?