public class LookupDiscoveryManager extends Object implements DiscoveryManagement, DiscoveryGroupManagement, DiscoveryLocatorManagement
LookupLocator
 objects, and DiscoveryListener objects, clients and services can employ this class to
 provide those facilities on their behalf. DiscoveryManagement, 
DiscoveryGroupManagement, 
DiscoveryLocatorManagement| Modifier and Type | Field and Description | 
|---|---|
| static int | FROM_GROUPConstant that indicates the discovery mechanism is group discovery | 
| static int | FROM_LOCATORConstant that indicates the discovery mechanism is locator discovery | 
| Constructor and Description | 
|---|
| LookupDiscoveryManager(String[] groups,
                      LookupLocator[] locators,
                      DiscoveryListener listener)Constructs an instance of this class that will organize and manage all discovery-related
 activities on behalf of the client or service that instantiates this class. | 
| LookupDiscoveryManager(String[] groups,
                      LookupLocator[] locators,
                      DiscoveryListener listener,
                      Configuration config)Constructs an instance of this class, using the given  Configuration, that will
 organize and manage all discovery-related activities on behalf of the client or service that
 instantiates this class. | 
| LookupDiscoveryManager(String[] groups,
                      LookupLocator[] locators,
                      DiscoveryListener listener,
                      Configuration config,
                      boolean runningWithinRegistrar) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addDiscoveryListener(DiscoveryListener listener)Adds an instance of  DiscoveryListenerto the set of objects listening for
 discovery events. | 
| void | addGroups(String[] groups)Adds a set of group names to the managed set of groups. | 
| void | addLocators(LookupLocator[] locators)Adds a set of locators to the managed set of locators. | 
| void | discard(ServiceRegistrar proxy)Removes an instance of  ServiceRegistrarfrom the managed set of lookup services,
 making the corresponding lookup service eligible for re-discovery. | 
| DynamicLookupLocatorDiscovery | getDynamicLocatorDiscovery() | 
| int | getFrom(ServiceRegistrar proxy)Return where the proxy come from. | 
| String[] | getGroups()Returns an array consisting of the elements of the managed set of groups; that is, the names
 of the groups whose members are the lookup services to discover. | 
| LookupLocator[] | getLocators()Returns an array consisting of the elements of the managed set of locators; that is,
 instances of  LookupLocatorin which each instance corresponds to a specific
 lookup service to discover. | 
| ServiceRegistrar[] | getRegistrars()Returns an array of instances of  ServiceRegistrar, each corresponding to a proxy
 to one of the currently discovered lookup services. | 
| void | removeDiscoveryListener(DiscoveryListener listener)Removes a listener from the set of objects listening for discovery events. | 
| void | removeGroups(String[] groups)Deletes a set of group names from the managed set of groups. | 
| void | removeLocators(LookupLocator[] locators)Deletes a set of locators from the managed set of locators, and discards any
 already-discovered lookup service that corresponds to a deleted locator. | 
| void | setGroups(String[] groups)Replaces all of the group names in the managed set with names from a new set. | 
| void | setLocators(LookupLocator[] locators)Replaces all of the locators in the managed set with locators from a new set, and discards
 any already-discovered lookup service that corresponds to a locator that is removed from the
 managed set as a result of an invocation of this method. | 
| void | terminate()Terminates all threads, ending all discovery processing being performed by the current
 instance of this class. | 
public static final int FROM_GROUP
public static final int FROM_LOCATOR
public LookupDiscoveryManager(String[] groups, LookupLocator[] locators, DiscoveryListener listener) throws IOException
 If
 null (DiscoveryGroupManagement.ALL_GROUPS) is input to the
 groups parameter, then attempts will be made via group discovery to discover all
 lookup services located within range of the entity that constructs this class. If the empty
 array (DiscoveryGroupManagement.NO_GROUPS) is input to that parameter, no group
 discovery will be performed until the set of groups to discover is populated. 
 If an empty
 array or a null reference is input to the locators parameter, no
 locator discovery will be performed until the set of locators to discover is populated.
groups - String array, none of whose elements may be null,
                 consisting of the names of the groups whose members are lookup services the
                 client or service wishes to discover.locators - array of instances of LookupLocator, none of whose elements may
                 be null, and in which each element corresponds to a specific
                 lookup service the client or service wishes to discover via locator
                 discovery.listener - a reference to DiscoveryListener object that will be notified
                 when a targeted lookup service is discovered or discarded.IOException - because construction of this class may initiate the
                                        discovery process, which can throw an
                                        IOException when socket allocation
                                        occurs.NullPointerException - this exception occurs when either one or more of the
                                        elements of the groups parameter is
                                        null, or one or more elements of the
                                        locators parameter is null.LookupLocator, 
DiscoveryListenerpublic LookupDiscoveryManager(String[] groups, LookupLocator[] locators, DiscoveryListener listener, Configuration config) throws IOException, ConfigurationException
Configuration, that will
 organize and manage all discovery-related activities on behalf of the client or service that
 instantiates this class.  If null (DiscoveryGroupManagement.ALL_GROUPS)
 is input to the groups parameter, then attempts will be made via group discovery
 to discover all lookup services located within range of the entity that constructs this
 class. If the empty array (DiscoveryGroupManagement.NO_GROUPS) is input to that
 parameter, no group discovery will be performed until the set of groups to discover is
 populated. 
 If an empty array or a null reference is input to the
 locators parameter, no locator discovery will be performed until the set of
 locators to discover is populated.
groups - String array, none of whose elements may be null,
                 consisting of the names of the groups whose members are lookup services the
                 client or service wishes to discover.locators - array of instances of LookupLocator, none of whose elements may
                 be null, and in which each element corresponds to a specific
                 lookup service the client or service wishes to discover via locator
                 discovery.listener - a reference to DiscoveryListener object that will be notified
                 when a targeted lookup service is discovered or discarded.config - an instance of Configuration, used to obtain the objects needed
                 to configure the current instance of this classIOException - because construction of this class may
                                                initiate the discovery process, which can
                                                throw an IOException when socket
                                                allocation occurs.ConfigurationException - indicates an exception occurred while
                                                retrieving an item from the given
                                                ConfigurationNullPointerException - this exception occurs when either one or more
                                                of the elements of the groups
                                                parameter is null, or one or more
                                                elements of the locators
                                                parameter is null, or when
                                                null is input for the
                                                configuration.LookupLocator, 
DiscoveryListener, 
Configurationpublic LookupDiscoveryManager(String[] groups, LookupLocator[] locators, DiscoveryListener listener, Configuration config, boolean runningWithinRegistrar) throws IOException, ConfigurationException
IOExceptionConfigurationExceptionpublic LookupLocator[] getLocators()
LookupLocator in which each instance corresponds to a specific
 lookup service to discover. The returned set will include both the set of
 LookupLocators corresponding to lookup services that have already been
 discovered as well as the set of those that have not yet been discovered. If the managed set
 of locators is empty, this method will return the empty array. This method returns a new
 array upon each invocation.getLocators in interface DiscoveryLocatorManagementLookupLocator array consisting of the elements of the managed set of
 locatorsDiscoveryLocatorManagement.getLocators(), 
setLocators(net.jini.core.discovery.LookupLocator[])public void addLocators(LookupLocator[] locators)
LookupLocator.equals method) elements already in the
 managed set will be ignored. If the empty array is input, the managed set of locators will
 not change.addLocators in interface DiscoveryLocatorManagementlocators - LookupLocator array consisting of the locators to add to the
                 managed set.UnsupportedOperationException - this exception occurs when there is no
                                                 managed set of locators to augment. That is,
                                                 the current managed set of locators is
                                                 null.NullPointerException - this exception occurs when either
                                                 null is input to the
                                                 locators parameter, or one or
                                                 more of the elements of the locators
                                                 parameter is null.DiscoveryLocatorManagement.addLocators(net.jini.core.discovery.LookupLocator[]), 
removeLocators(net.jini.core.discovery.LookupLocator[])public void removeLocators(LookupLocator[] locators)
If the empty array is input, this method takes no action.
removeLocators in interface DiscoveryLocatorManagementlocators - LookupLocator array consisting of the locators that will be
                 removed from the managed set.UnsupportedOperationException - this exception occurs when there is no
                                                 managed set of locators from which remove
                                                 elements.NullPointerException - this exception occurs when null
                                                 is input to the locators
                                                 parameter.DiscoveryLocatorManagement.removeLocators(net.jini.core.discovery.LookupLocator[]), 
addLocators(net.jini.core.discovery.LookupLocator[])public void setLocators(LookupLocator[] locators)
 If the empty array is input, locator discovery will cease until this
 method is invoked with an input parameter that is non-null and non-empty.
setLocators in interface DiscoveryLocatorManagementlocators - LookupLocator array consisting of the locators that will replace
                 the current locators in the managed set.NullPointerException - this exception occurs when null is input
                                        to the locators parameter.DiscoveryLocatorManagement.setLocators(net.jini.core.discovery.LookupLocator[]), 
getLocators()public String[] getGroups()
getGroups in interface DiscoveryGroupManagementString array consisting of the elements of the managed set of groupsDiscoveryGroupManagement.getGroups(), 
setGroups(java.lang.String[])public void addGroups(String[] groups) throws IOException
DiscoveryGroupManagement.NO_GROUPS) is input, the managed set of groups will
 not change.
 Note that any entity that invokes this method must have DiscoveryPermission on
 each of the groups in the new set, otherwise a SecurityException will be
 propagated through this method.addGroups in interface DiscoveryGroupManagementgroups - String array consisting of the group names to add to the managed
               set.IOException - because an invocation of this method may
                                                 result in the re-initiation of the discovery
                                                 process, which can throw an IOException
                                                 when socket allocation occurs.UnsupportedOperationException - this exception occurs when there is no
                                                 managed set of groups to augment. That is,
                                                 the current managed set of groups is
                                                 null. If the managed set of
                                                 groups is null, all groups are
                                                 being discovered; thus, requesting that a set
                                                 of groups be added to the set of all groups
                                                 makes no sense.NullPointerException - this exception occurs when either
                                                 null is input to the
                                                 groups parameter, or one or more
                                                 of the elements of the groups
                                                 parameter is null. If a
                                                 null is input, then the entity
                                                 is effectively requesting that "all groups"
                                                 be added to the current managed set of
                                                 groups; which is not allowed. (Note that if
                                                 the entity wishes to change the managed set
                                                 of groups from a finite set of names to "all
                                                 groups", the setGroups method
                                                 should be invoked with null
                                                 input.)DiscoveryGroupManagement.addGroups(java.lang.String[]), 
removeGroups(java.lang.String[])public void removeGroups(String[] groups)
DiscoveryGroupManagement.NO_GROUPS) is input, this method takes no action.removeGroups in interface DiscoveryGroupManagementgroups - String array consisting of the group names that will be removed
               from the managed set.UnsupportedOperationException - this exception occurs when there is no
                                                 managed set of groups from which to remove
                                                 elements.NullPointerException - this exception occurs when null
                                                 is input to the groups
                                                 parameter.DiscoveryGroupManagement.removeGroups(java.lang.String[]), 
addGroups(java.lang.String[])public void setGroups(String[] groups) throws IOException
 If null
 (DiscoveryGroupManagement.ALL_GROUPS) is input to this method, then attempts
 will be made to discover all (as yet) undiscovered lookup services that are within range, and
 which are members of any group. If the empty array (DiscoveryGroupManagement.NO_GROUPS)
 is input, then group discovery will cease until this method is invoked with an input
 parameter that is non-null and non-empty.
 Note that any entity that invokes this method must have DiscoveryPermission on
 each of the groups in the new set, otherwise a SecurityException will be
 propagated through this method.
setGroups in interface DiscoveryGroupManagementgroups - String array consisting of the group names that will replace the
               current names in the managed set.IOException - because an invocation of this method may result in the
                             re-initiation of the discovery process, which can throw an
                             IOException when socket allocation occurs.DiscoveryGroupManagement.setGroups(java.lang.String[]), 
getGroups()public void addDiscoveryListener(DiscoveryListener listener)
DiscoveryListener to the set of objects listening for
 discovery events. Once the listener is registered, it will be notified of all lookup services
 discovered to date, and will then be notified as new lookup services are discovered or
 existing lookup services are discarded.  If null is input, this method takes
 no action. If the listener input to this method duplicates (using the equals
 method) another element in the current set of listeners, no action is taken.
addDiscoveryListener in interface DiscoveryManagementlistener - an instance of DiscoveryListener corresponding to the listener
                 to add to the set of listeners.NullPointerException - this exception occurs when null is input
                                        to the  listener parameter.DiscoveryListener, 
DiscoveryManagement.addDiscoveryListener(net.jini.discovery.DiscoveryListener), 
removeDiscoveryListener(net.jini.discovery.DiscoveryListener)public void removeDiscoveryListener(DiscoveryListener listener)
removeDiscoveryListener in interface DiscoveryManagementlistener - an instance of DiscoveryListener corresponding to the listener
                 to remove from the set of listeners.DiscoveryListener, 
DiscoveryManagement.removeDiscoveryListener(net.jini.discovery.DiscoveryListener), 
addDiscoveryListener(net.jini.discovery.DiscoveryListener)public ServiceRegistrar[] getRegistrars()
ServiceRegistrar, each corresponding to a proxy
 to one of the currently discovered lookup services. For each invocation of this method, a new
 array is returned.getRegistrars in interface DiscoveryManagementServiceRegistrar, each corresponding to a proxy to
 one of the currently discovered lookup servicesServiceRegistrar, 
DiscoveryManagement.removeDiscoveryListener(net.jini.discovery.DiscoveryListener)public void discard(ServiceRegistrar proxy)
ServiceRegistrar from the managed set of lookup services,
 making the corresponding lookup service eligible for re-discovery. This method takes no
 action if the parameter input to this method is null, or if it does not match
 (using equals) any of the elements in the managed set.discard in interface DiscoveryManagementproxy - the instance of ServiceRegistrar to discard from the managed set of
              lookup servicesServiceRegistrar, 
DiscoveryManagement.discard(net.jini.core.lookup.ServiceRegistrar)public void terminate()
After this method has been invoked, no new lookup services will be discovered, and the effect of any new operations performed on the current instance of this class are undefined.
terminate in interface DiscoveryManagementDiscoveryManagement.terminate()public int getFrom(ServiceRegistrar proxy)
proxy - a ServiceRegistrar objectint indicating whether the proxy was obtained through group or
 locator discovery.public DynamicLookupLocatorDiscovery getDynamicLocatorDiscovery()
Copyright © GigaSpaces.