package basic; import net.jini.core.discovery.LookupLocator; import net.jini.core.lookup.ServiceRegistrar; import net.jini.core.lookup.ServiceItem; import net.jini.core.lookup.ServiceRegistration; import java.io.Serializable; /** * SimpleService.java * */ public class SimpleService implements Serializable { static public void main(String argv[]) { new SimpleService(); } public SimpleService() { LookupLocator lookup = null; ServiceRegistrar registrar = null; try { lookup = new LookupLocator("jini://localhost"); } catch(java.net.MalformedURLException e) { System.err.println("Lookup failed: " + e.toString()); System.exit(1); } try { registrar = lookup.getRegistrar(); } catch (java.io.IOException e) { System.err.println("Registrar nicht erhalten: " + e.toString()); System.exit(1); } catch (java.lang.ClassNotFoundException e) { System.err.println("Registrar nicht erhalten: " + e.toString()); System.exit(1); } // der Service registriert sich selbst, ohne ServiceID // oder beschreibende Einträge ServiceItem item = new ServiceItem(null, this, null); ServiceRegistration reg = null; try { // ask to register for 10,000,000 milliseconds reg = registrar.register(item, 10000000L); } catch(java.rmi.RemoteException e) { System.err.println("Register exception: " + e.toString()); } System.out.println("Service registriert"); // Wenn das Service-Object den gesamten Code des Service enthält // kann das Service hier beendet werden, // andernfalls muss der Service warten, bis ein Client ihn braucht // oder das Lease erneuert werden muss. // // In der Regel muss das Lease erneuert werden } } // SimpleService