RMI und Problem mit rmic-Tool

bandy

Bekanntes Mitglied
Hallo,

ich habe folgendes Programm

Java:
import java.rmi.Remote;
import java.rmi.RemoteException;

public interface Befragung extends Remote{
public Frage getFrage() throws RemoteException;
public void putAntwort(int antwort) throws RemoteException;
}

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

public class BefragungImpl extends UnicastRemoteObject implements Befragung{
  private static final long serialVersionUID = 1L;
  private String frageString="";
  private int antwortBereich=0;
  private int tnZahl=0;
  private double antwortAv=0.0;

  public BefragungImpl(String frageString, int antwortBereich) throws RemoteException {
   this.frageString=frageString;
   this.antwortBereich=antwortBereich;  
  }

  public Frage getFrage()throws RemoteException{
    return new Frage(frageString, antwortBereich, tnZahl, antwortAv);
  }
  
  public void putAntwort(int antwort)throws RemoteException{
    antwortAv=(antwortAv*tnZahl+antwort)/(++tnZahl);
    System.out.println("\t"+tnZahl+" Teilnehmer\t"+antwortAv+"\t Antwortdurchschnitt");   
  }
  
  public static void main (String [] args){
    if(args.length==2){
      BefragungImpl bef;
      try{
        LocateRegistry.createRegistry(1099);
        int range=0;
        try{
        range=Integer.parseInt(args[1]);
        }catch(Exception e){}
        bef=new BefragungImpl(args[0], range);
        Naming.bind("RMI-Befragung", bef);
        System.out.println("\n*** Bereit fuer RMI's ***\n");
      }catch(java.rmi.AlreadyBoundException abEx){
             System.out.println("BefragungImpl: "+abEx.toString());
      }catch(java.net.MalformedURLException malUrlEx){
        System.out.println("BefragungImpl: "+malUrlEx.toString());
      }catch(RemoteException remEx){
        System.out.println("BefragungImpl: "+remEx.toString());
      }
    }else{
       System.out.println("BefragungImpl: "+"\n\tAufruf mit einem Frage-String in \"...\""+"\n\tund einer Zahl fuer den Antwortbereich");
    }
  }
}

Java:
public class Frage extends Object implements java.io.Serializable{
  private static final long serialVersionUID = 1L;
  private String frageString;
  private int antwortBereich;
  private int tnZahl;
  private double antwortAv;
  
  public String getFrageString(){
    return frageString;
    }
  
  public int getAntwortBereich(){
    return antwortBereich;
  }

  public int getTnZahl(){
    return tnZahl;
  }
 
  public double getAntwortAv(){
    return antwortAv;
  }
  
  public Frage(){}
  
public Frage(String frageString, int antwortBereich, int tnZahl, double antwortAv){
    this.frageString=frageString;
    this.antwortBereich=antwortBereich;
    this.tnZahl=tnZahl;
    this.antwortAv=antwortAv;
  }
}

Java:
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.rmi.Naming;
import java.rmi.RemoteException;

public class FrageClient {
Frage frage;
Befragung remoteObject;
StringBuffer strBuffer;
String antwort;

public FrageClient(){}

public static void main(String[] args) {
  FrageClient client=new FrageClient();
  client.execute();
}

private void execute() {
 try {
  remoteObject=(Befragung) Naming.lookup("rmi://127.0.0.1:1099/RMI-Befragung");
  frage=remoteObject.getFrage();
  System.out.println("Die Frage des remote-Objectes:\n");
  System.out.println(frage.getFrageString()+"\n");
  System.out.println("Ihre Antwort. Moeglichkeiten von 0 bis "+frage.getAntwortBereich()+": \n");
} catch (java.rmi.NotBoundException nbEx) {
  System.out.println("FrageClient: "+nbEx.toString());
}catch (java.net.MalformedURLException malUrlEx) {
  System.out.println("FrageClient: "+malUrlEx.toString());
}catch (RemoteException remEx) {
  System.out.println("FrageClient: "+remEx.toString());
}
 
 boolean schleife=true;
 int iAntwort=0;
 while(schleife){
   if((antwort=konsolenDaten()) !=null){
     try{
       iAntwort=Integer.parseInt(antwort);
       if(iAntwort<=frage.getAntwortBereich()&& iAntwort>=0){
         try{
           remoteObject.putAntwort(iAntwort);
           double tnAvneu=(frage.getAntwortAv()*frage.getTnZahl()+iAntwort)/(frage.getTnZahl()+1);
           System.out.println("Durchschnitt "+tnAvneu+" bei "+(frage.getTnZahl()+1+" Teilnehmern"));
           schleife=false;
     }catch(RemoteException remEx){
       System.out.println("BefragungImpl: "+remEx.toString());
       schleife=false;
     }
   }else
     System.out.println("Die Zahl liegt nicht  "+"im gueltigen bereich, bitte noch einmal:");
 }catch(NumberFormatException nfEx){
System.out.println("BefragungImpl: "+nfEx.toString());   
System.out.println("\nUngueltige Eingabe: Es muss eine Zahl eingegeben werden. Bitte noch einmal:"); 
 }
   }else  System.out.println("Fehler ");
 } 
}

public String konsolenDaten(){
  strBuffer=new StringBuffer();
  char ch;
  try{
    Reader in=new InputStreamReader(System.in);
    while((ch=(char)in.read())!='\r'){
      strBuffer.append(ch);
    }
    System.out.println("Eingegeben: "+strBuffer.toString());
    return strBuffer.toString();
  }catch(IOException ioe){
    System.out.println("BefragungImpl: "+ioe.toString()); 
    return null;
  }
}
}

Mit dem rmic-Tool soll ich mit folgendem Befehl
Code:
rmic BefragungImpl
Zwei weitere class-Dateien erzeugen, die BefragungImpl_Skel.class und BefragungImpl_Stub.class, es wird aber nur BefragungImpl_Stub.class erzeugt, warum?:bahnhof: Mache ich etwas falsch ?:bahnhof:
 

Kr0e

Gesperrter Benutzer
Nur kurz Zeit grad: rmic wird ab JDK 5 (Oder war es sogar schon 4 ?) nicht mehr benötigt. Falls du es machen MUSST mit rmic, so kann ich dir nicht helfen, da ich noch nie damit gearbeitet habe -> Vollkommen veraltet.
 

bandy

Bekanntes Mitglied
Nur kurz Zeit grad: rmic wird ab JDK 5 (Oder war es sogar schon 4 ?) nicht mehr benötigt. Falls du es machen MUSST mit rmic, so kann ich dir nicht helfen, da ich noch nie damit gearbeitet habe -> Vollkommen veraltet.

Aber Danke fuer den Versuch zu helfen:)

Das stimmt, seit Java 5 übernimmt der Java-Compiler javac die Funktionen von rmic.
Skeleton- und Stubklassen werden nun automatisch erzeugt.

Hab hier mal ein Video-Tutorial zu RMI unter Java 5 gefunden. Hoffe, das hilft dir weiter
Tutorial RMI mit Java 5 in Eclipse Video - sevenload

Sieht gut aus das Video, sollte schon helfen, Danke!:)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
C Handle Connection Problem Netzwerkprogrammierung 3
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
B Client/Server Connection Problem Netzwerkprogrammierung 2
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
C FTP storeFileStream Problem Netzwerkprogrammierung 3
N Problem über http eine Datei zu senden Netzwerkprogrammierung 4
D JavaMail - Mailsabrufen Problem (imap) Netzwerkprogrammierung 12
J HTTP Übersetzung yahoo babelfish - Zeichensatz-Problem Netzwerkprogrammierung 6
D Apache CXF, JAX-WS Problem bei Arrays - einfacher Server Netzwerkprogrammierung 2
M Problem beim Datenempfang Netzwerkprogrammierung 2
X Problem mit Server-Client-Kommunikation Netzwerkprogrammierung 14
M Problem mit Socket-Verbindung Netzwerkprogrammierung 2
N NIO Problem beim speziellen Behandeln von einzelnen Benutzern Netzwerkprogrammierung 13
D Thread problem Netzwerkprogrammierung 3
T Servlets JSP: Tomcat Problem Netzwerkprogrammierung 4
K Client - Server Problem Netzwerkprogrammierung 16
T RMI Problem Client-Server Netzwerkprogrammierung 2
P RMI Stub Problem Netzwerkprogrammierung 3
D Socket UDP Übertragungs Problem Netzwerkprogrammierung 7
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 2
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 6
D Problem mit ObjectInputStreams Netzwerkprogrammierung 10
D Socket Problem mit InputStreamReader Netzwerkprogrammierung 3
N CRC32 CheckSum Problem bei UDP Netzwerkprogrammierung 2
V Java Mail Api - IMAP Problem Netzwerkprogrammierung 6
P RMI Problem Netzwerkprogrammierung 4
I Problem bei Outputstreamerzeugung in anderer Klasse als Socket Netzwerkprogrammierung 5
S Socket Problem mit Objektübertragung Netzwerkprogrammierung 16
Shoox Reader / Writer Problem Netzwerkprogrammierung 2
S Problem mit 2 Serversockets unter Win XP Netzwerkprogrammierung 7
P Socket Problem mit Netzwerkverbindung über TCP Netzwerkprogrammierung 12
M RMI - Connection Problem Netzwerkprogrammierung 7
J Socket Client - Server Problem Netzwerkprogrammierung 4
M Socket Chat-Client-Problem Netzwerkprogrammierung 8
D Client Server Problem, Methode readline() löst SocketException "Connection reset" aus Netzwerkprogrammierung 8
E HTTP Problem beim Auslesen von Websiten Netzwerkprogrammierung 6
T Problem bei Findung der richtigen Architektur Netzwerkprogrammierung 3
AlexSpritze Authentication Problem bei WebServices Netzwerkprogrammierung 4
J Socket Problem -Proxies Netzwerkprogrammierung 2
R HTTP Problem bei Authentifizierung über (Http)UrlConnection Netzwerkprogrammierung 2
F Konzept Problem Netzwerkprogrammierung 12
G NIO Sockets Architektur Problem Netzwerkprogrammierung 2
H Neues NIO problem nachricht an alle clients Netzwerkprogrammierung 3
J Client server problem Netzwerkprogrammierung 3
S Problem bzgl. Sockets / Server-Client-Struktur Netzwerkprogrammierung 3
W RMI Problem Netzwerkprogrammierung 4
M Problem mit Server Netzwerkprogrammierung 5
N Socket Java server c# client problem Netzwerkprogrammierung 7
Y Problem mit ObjectInputStream beim lesen vom Socket Netzwerkprogrammierung 10
R RMI Hibernate Problem Netzwerkprogrammierung 4
Z RMI Problem Netzwerkprogrammierung 11
F RMI problem mit RMI Netzwerkprogrammierung 3
H Object Cast Problem nach Übertragung mit Log4j Netzwerkprogrammierung 5
H Log4j SocketAppender Problem Netzwerkprogrammierung 2
P HTTP Problem beim Download von einer Datei Netzwerkprogrammierung 4
P Problem mit JOscarLib Netzwerkprogrammierung 6
0din SMTP Client - readline problem Netzwerkprogrammierung 4
C komisches Problem / ObjectInputStream erstellt sich nicht Netzwerkprogrammierung 5
W vista / win server 2003 netzlaufwerk problem Netzwerkprogrammierung 4
W Problem mit HTTP-Dateiübertragung Netzwerkprogrammierung 6
E Problem: netbeans 6.5 und webanwendung Netzwerkprogrammierung 6
C Problem mit Übertragung einer Klasse in RMI Netzwerkprogrammierung 10
B UDP Problem Netzwerkprogrammierung 25

Ähnliche Java Themen

Neue Themen


Oben