| /******************************************************** *   JINI Projektarbeit 
          *** Sommersemester 2001           * Thema: Simulation eines Foerderbandes *                  
          in Java/Jini                                                                                  
           *                                                        *   Datei:          Foerderbandsteuerung.java            *   Datum:          11.06.2001                           *********************************************************/ 
             import net.jini.core.discovery.LookupLocator; import net.jini.core.lookup.*; import java.rmi.RMISecurityManager; import java.awt.*; import java.io.*; import java.net.*; import java.util.*; import java.util.Vector;   /**  * Die Klasse 
          Foerderbandsteuerung ruft controlMotor() beim LookupService auf  *   *  * @author  S. Pollmann, O. Stradner, M. Thielicke, R. 
          Begemann  * @version 
          Java 1.3, JINI 1.1  * @see     Foerderband  * @see     Foerderbandsteuerung  * @see     JiniInterface  * @see     Motorsteuerung  */     public class Foerderbandsteuerung extends Object {                               public Foerderbandsteuerung() 
          {   }          /** Initialisierung 
          des Securitymanagers  */      public static 
          void main (String args[]) throws Exception{     System.out.println 
          ("Initialisierung...");     System.setSecurityManager( 
          new RMISecurityManager() );               /** Initialisierung 
          des LUS ( hier muss der aktuelle Hostname eingetragen werden )  */            LookupLocator 
          locator = new LookupLocator("jini://UNIMATRIX001");         ServiceRegistrar 
          sr = locator.getRegistrar();          Class[] 
          classes = new Class[] { JiniInterface.class };     ServiceTemplate 
          st = new ServiceTemplate( null, // ID             classes, 
          // types             null);  
          // attributes                 /**Definition 
          des Interface, dass im LUS regestriert wurde       */         JiniInterface 
          Foerderband=(JiniInterface)sr.lookup(st);                 /**Definition 
          eines Vektors mit der Groesse 2    */         Vector v 
          = new Vector(2);     v.setSize(2);     int i=0;        /** Initialiesirung 
          der Richtungsvariablen ( links steht fuer Linkslauf, rechts fuer Rechtslauf 
          )    */         String x="links";                       while(i<10){ // Initialisierung einer while-Schleife, die Bestimmt, 
          wieviele Zeitmessungen vorgenommen werden     i++;                      v=Foerderband.controlMotor(x);     /* Aufruf 
          der Methode controlMotor() auf dem Server. Der Methode wird die Laufrichtung 
          als Integer     uebergeben, 
          diese gibt anschliessend die neue Endposition und die Laufzeit ueber 
          das Netz, in Form     eines Vektors 
          zurueck*/     String variable 
          = (String)v.get(1);     /* Konvertierung 
          des Vektorelements, dass die Endposition enthaelt, von einem Objekt 
          zurueck in einen String*/     if(variable.equals("rechte 
          Endposition erreicht"))     /* if Schleife 
          zur Bestimmung der neuen Laufrichtung.     Falls die 
          rechte Endposition erreicht wird, wird die Laufrichtung auf 1 respektive 
          "Linkslauf"     gesetzt 
          und entsprechend andersherum, bei Erreichen der linken Endposition*/             x="links";     else             x="rechts";                          if(i==1){             System.out.println 
          ("Messung gestartet...");             }             else{                     System.out.println 
          ("Position: " + v.elementAt(1)); // Ausgabe der aktuellen 
          Endposition     System.out.println 
          ("Laufzeit: " + v.elementAt(0) + " ms"); // Ausgabe 
          der aktuellen Netzlaufzeit     }    }     }   } |