E
emot
Gast
Hallo!
Also ich hab hier ein Java RMI Problem.
Ich muss eine Prüfungsverwaltung mittels Java RMI programmieren und steh hier schon mal ganz am Anfang an.
Die Server implementierung soll so aussehen das in dem Interface folgende Mehoden implementiert sind:
In muss nun 3 Klassen implementieren, eine PruefungsVerwaltungServerImpl Klasse mit der main methode und zusättzlich 2 klassen die "Pruefung" und "Student" heissen.
Das heisst ich implementieren eigentlich alle Methoden in diesen 2en?
Und wie greife ich dann von dem PruefungsverwaltungServerImpl dann drauf zu?
Und im Client brauch ich dann eigentlich nurmehr die Methoden aufrufen nicht?
Hab mir das ca. so gedacht:
und dann für pruefung:
analog für student
muss ich dann auch für student und pruefung ein remote obj erzeugen?
und wie soll das aussehen?
Und noch ne kleine Frage:
Gibts irgendein programm das es ermöglicht das RMI Ding einfach zu testen, ohne es mühsam zu compilieren und zu über einen server zu starten?
Bin für jede Hilfe dankbar, Grüße emot[/code]
Also ich hab hier ein Java RMI Problem.
Ich muss eine Prüfungsverwaltung mittels Java RMI programmieren und steh hier schon mal ganz am Anfang an.
Die Server implementierung soll so aussehen das in dem Interface folgende Mehoden implementiert sind:
Code:
public interface PruefungsVerwaltung extends Remote {
public void pruefungAnlegen (Pruefung pruefung) throws RemoteException;
public Vector allePruefungenAusgeben () throws RemoteException;
public void studentAnmelden (String pruefungsName, Student student) throws RemoteException;
public void noteEintragen (String pruefungsName, String matNr, int note) throws RemoteException;
public int noteAusgeben (String pruefungsName, String matNr) throws RemoteException;
public Vector alleNotenAusgeben (String matNr) throws RemoteException;
public double notendurchschnittAusgeben(String matNr) throws RemoteException;
}
In muss nun 3 Klassen implementieren, eine PruefungsVerwaltungServerImpl Klasse mit der main methode und zusättzlich 2 klassen die "Pruefung" und "Student" heissen.
Das heisst ich implementieren eigentlich alle Methoden in diesen 2en?
Und wie greife ich dann von dem PruefungsverwaltungServerImpl dann drauf zu?
Und im Client brauch ich dann eigentlich nurmehr die Methoden aufrufen nicht?
Hab mir das ca. so gedacht:
Code:
public class PruefungsVerwaltungServerImpl extends UnicastRemoteObject
implements PruefungsVerwaltung {
public PruefungsVerwaltungServerImpl() throws RemoteException
{
super();
}
public static void main(String args[]) {
String registryServer="";
// use a Security Manager
if (System.getSecurityManager() == null) {
System.setSecurityManager(new RMISecurityManager());
}
if (args.length == 1) {
// get registryServer from command line arg
registryServer = args[0];
}
else {
try {
// use local host as registryServer
System.out.println("Using local host as registryServer.");
registryServer = InetAddress.getLocalHost().getHostName();
}
catch (java.net.UnknownHostException ex) {
System.out.println("Failed to determine name of local host.");
System.exit(1);
}
}
try
{
// create instance of PruefungsVerwaltungImpl
PruefungsVerwaltungServerImpl obj = new PruefungsVerwaltungServerImpl();
// rebind obj in RMIRegistry on registryServer under the name
// "PruefungsVerwaltungImpl"
Naming.rebind("//" + registryServer + "/" + "PruefungsVerwaltungImpl", obj);
System.out.println("Pruefungsverwaltung-Server bound in registry on " + registryServer);
}
catch (Exception e)
{
System.out.println("PruefungsVerwaltungImpl err: " + e.getMessage());
e.printStackTrace();
}
}
}
und dann für pruefung:
Code:
public class Pruefung extends UnicastRemoteObject implements PruefungsVerwaltung
{
public Pruefung() throws RemoteException
{
super();
}
// Varibalen für das Objekt Pruefung: Name der Prüfung (eindeutig), Beginn, Ende, Ort, Name des Prüfers
private String myName;
private int myBeginn;
private int myEnde;
private String myOrt;
private String myNamePruefer;
//Hier der Konstrukter für ein Objekt vom Typ "Pruefung"
public Pruefung (String name, int beginn, int ende, String ort, String namePruefer)
{
myName = name;
myBeginn = beginn;
myEnde = ende;
myOrt = ort;
myNamePruefer = namePruefer;
}....
etc...
analog für student
muss ich dann auch für student und pruefung ein remote obj erzeugen?
und wie soll das aussehen?
Und noch ne kleine Frage:
Gibts irgendein programm das es ermöglicht das RMI Ding einfach zu testen, ohne es mühsam zu compilieren und zu über einen server zu starten?
Bin für jede Hilfe dankbar, Grüße emot[/code]