Zurück zum Manuskript
// Datei: AbteilungsServer.java // Autor: Brecht // Datum: 25.07.18 // Thema: Ein RMI-Server, der in jeder Abteilung implementiert // wird. Er führt die RMI-Aufrufe über dem Telefonbuch // der entsprechenden Abteilung aus. Siehe dazu den // Grobentwurf zur Aufgabe. // // Aufruf: java AbteilungsServer "Einkauf" // oder: java AbteilungsServer "Vertrieb" // ======================================================== import java.rmi.*; import java.rmi.registry.*; import java.net.*; class AbteilungsServer { AbteilungsServer() throws Exception {} public static void main(String[] args) throws Exception { String abteilung = null; int registryPort = 0; // Param auswerten // --------------------------------------------------------- if(args.length != 1) { System.out.println(); System.out.println("=================================="); System.out.println("Aufruf muss parametrisiert werden:"); System.out.println(" java AbteilungsServer Einkauf"); System.out.println("bzw."); System.out.println(" java AbteilungsServer Vertrieb"); System.out.println("=================================="); System.out.println(); System.exit(0); } // Es gibt genau einen Param // --------------------------------------------------------- if(! (args[0].equals("Einkauf") || args[0].equals("Vertrieb") )) { System.out.println(); System.out.println("=================================="); System.out.println("Parameterfehler: nur"); System.out.println(" java AbteilungsServer Einkauf"); System.out.println("bzw."); System.out.println(" java AbteilungsServer Vertrieb"); System.out.println("=================================="); System.out.println(); System.exit(0); } abteilung = args[0]; // Lokaler Host, Abteilung und Registry-Port // --------------------------------------------------------- String localHost = InetAddress.getLocalHost().getHostName(); if(abteilung.equals("Einkauf")) registryPort = 60069; else registryPort = 60086; // Bei der Registry anmelden // --------------------------------------------------------- LocateRegistry.createRegistry(registryPort); RmiImpl impl = new RmiImpl(abteilung); Naming.rebind("rmi://" + localHost + ":" + registryPort + "/RmiAbfrage", impl); System.out.println("\nAbteilungsserver ist aktiv"); System.out.println(" Abteilung: " + abteilung); System.out.println(" Host : " + localHost); System.out.println(" Reg.-Port: " + registryPort); System.out.println(); System.out.println("Warte auf RMI-Requests"); System.out.println(" Methoden-Log:"); } // main() }

Zurück zum Manuskript