import net.jini.core.lookup.*; import net.jini.discovery.*; import java.rmi.*; class LookupDiscoveryExample implements DiscoveryListener { int i; LookupDiscovery discovery; ServiceRegistrar[] registrars; LookupDiscoveryExample () { try { discovery = new LookupDiscovery (LookupDiscovery.ALL_GROUPS); discovery.addDiscoveryListener (this); System.out.println ("\nBegin search for lookup service..."); } catch (Exception e) { System.out.println ("LookupDiscoveryExample(): " + e); } } public void discovered (DiscoveryEvent evt) // DiscoveryListener { registrars = evt.getRegistrars (); System.out.println ("Found a lookup service..."); for (i = 0; i < registrars.length; i++) { System.out.println (" registrar = " + registrars[i]); } } public void discarded (DiscoveryEvent evt) // DiscoveryListener { registrars = evt.getRegistrars (); System.out.println ("\ndiscarded():"); for (i = 0; i < registrars.length; i++) { System.out.println (" registrar = " + registrars[i]); } } public static void main (String[] args) { LookupDiscoveryExample x; try { System.setSecurityManager (new RMISecurityManager ()); x = new LookupDiscoveryExample (); Thread.currentThread().join (); // pause indefinitely x.discovery.terminate (); // stop discovery } catch (Exception e) { System.out.println ("LookupDiscoveryExample.main(): " + e); } } }