public class TransientRegistrarImpl extends Object
| Modifier | Constructor and Description |
|---|---|
protected |
TransientRegistrarImpl(Configuration config,
LifeCycle lifeCycle)
Constructs a TransientRegistrarImpl based on the configuration argument
If lifeCycle is non-null, then its
unregister method is invoked during service shutdown.
|
protected |
TransientRegistrarImpl(String[] configArgs,
LifeCycle lifeCycle)
Constructs a TransientRegistrarImpl based on a configuration obtained
using the provided arguments.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addAttributes(ServiceID serviceID,
Uuid leaseID,
org.apache.river.reggie.EntryRep[] attrSets)
Adds the specified attribute sets (those that aren't duplicates of
existing attribute sets) to the registered service item.
|
void |
addLookupAttributes(Entry[] attrSets)
Add attribute sets for the service.
|
void |
addLookupGroups(String[] groups)
Add new groups to the set to join.
|
void |
addLookupLocators(LookupLocator[] locators)
Add locators for specific new lookup services to join.
|
void |
addMemberGroups(String[] groups)
Adds the given set of names to the set whose elements are the names
of the groups in which the lookup service is currently a member.
|
void |
cancelEventLease(long eventID,
Uuid leaseID)
Cancels an event lease.
|
Exception[] |
cancelLeases(Object[] regIDs,
Uuid[] leaseIDs)
Cancels service and event leases from a LeaseMap.
|
void |
cancelServiceLease(ServiceID serviceID,
Uuid leaseID)
Cancels a service lease.
|
void |
destroy()
Destroy the service, if possible, including its persistent storage.
|
Object |
getAdmin()
Returns an object that implements whatever administration interfaces
are appropriate for the particular service.
|
org.apache.river.reggie.EntryClassBase[] |
getEntryClasses(org.apache.river.reggie.Template tmpl)
Looks at all service items that match the specified template, finds
every entry (among those service items) that either doesn't match any
entry templates or is a subclass of at least one matching entry
template, and returns the set of the (most specific) classes of those
entries.
|
Object[] |
getFieldValues(org.apache.river.reggie.Template tmpl,
int setIndex,
int field)
Looks at all service items that match the specified template, finds
every entry (among those service items) that matches
tmpl.attributeSetTemplates[setIndex], and returns the set of values
of the specified field of those entries.
|
LookupLocator |
getLocator()
Returns a LookupLocator that can be used if necessary for unicast
discovery of the lookup service.
|
Entry[] |
getLookupAttributes()
Get the current attribute sets for the service.
|
String[] |
getLookupGroups()
Get the list of groups to join.
|
LookupLocator[] |
getLookupLocators()
Get the list of locators of specific lookup services to join.
|
String[] |
getMemberGroups()
Returns an array consisting of the names of the groups in which the
lookup service is a member.
|
Object |
getProxy()
Returns a proxy object for this remote object.
|
TrustVerifier |
getProxyVerifier()
Returns a
TrustVerifier that can be used to verify that
a proxy can be trusted as a proxy for the service; that is, the
isTrustedObject method of the
returned verifier can be called with a candidate proxy. |
Object |
getServiceProxy()
Returns a proxy object for this object.
|
org.apache.river.reggie.ServiceTypeBase[] |
getServiceTypes(org.apache.river.reggie.Template tmpl,
String prefix)
Looks at all service items that match the specified template, and for
every service item finds the most specific type (class or interface)
or types the service item is an instance of that are neither equal to,
nor a superclass of, any of the service types in the template and that
have names that start with the specified prefix, and returns the set
of all such types.
|
int |
getUnicastPort()
Returns the port number on which the lookup service listens for
unicast discovery queries.
|
MarshalledWrapper |
lookup(org.apache.river.reggie.Template tmpl)
Returns the service object (i.e., just ServiceItem.service) from an
item matching the template, or null if there is no match.
|
org.apache.river.reggie.Matches |
lookup(org.apache.river.reggie.Template tmpl,
int maxMatches)
Returns at most maxMatches items matching the template, plus the total
number of items that match the template.
|
void |
modifyAttributes(ServiceID serviceID,
Uuid leaseID,
org.apache.river.reggie.EntryRep[] attrSetTmpls,
org.apache.river.reggie.EntryRep[] attrSets)
Modifies existing attribute sets of a registered service item.
|
void |
modifyLookupAttributes(Entry[] attrSetTemplates,
Entry[] attrSets)
Modify the current attribute sets, using the same semantics as
ServiceRegistration.modifyAttributes.
|
EventRegistration |
notify(org.apache.river.reggie.Template tmpl,
int transitions,
RemoteEventListener listener,
MarshalledObject handback,
long leaseDuration)
Registers for event notification.
|
ServiceRegistration |
register(org.apache.river.reggie.Item nitem,
long leaseDuration)
Register a new service or re-register an existing service.
|
void |
removeLookupGroups(String[] groups)
Remove groups from the set to join.
|
void |
removeLookupLocators(LookupLocator[] locators)
Remove locators for specific lookup services from the set to join.
|
void |
removeMemberGroups(String[] groups)
Deletes the elements of the given set of names from the set whose
elements are the names of the groups in which the lookup service is
currently a member.
|
long |
renewEventLease(long eventID,
Uuid leaseID,
long renewDuration)
Renews an event lease.
|
org.apache.river.reggie.RenewResults |
renewLeases(Object[] regIDs,
Uuid[] leaseIDs,
long[] renewDurations)
Renews service and event leases from a LeaseMap.
|
long |
renewServiceLease(ServiceID serviceID,
Uuid leaseID,
long renewDuration)
Renews a service lease.
|
void |
setAttributes(ServiceID serviceID,
Uuid leaseID,
org.apache.river.reggie.EntryRep[] attrSets)
Deletes all of the service item's existing attributes, and replaces
them with the specified attribute sets.
|
void |
setLookupGroups(String[] groups)
Replace the list of groups to join with a new list.
|
void |
setLookupLocators(LookupLocator[] locators)
Replace the list of locators of specific lookup services to join
with a new list.
|
void |
setMemberGroups(String[] groups)
Replaces the set whose elements are the names of the groups in which
the lookup service is currently a member with the given set of group
names.
|
void |
setUnicastPort(int port)
Changes the number of the port on which the lookup service is currently
listening for unicast discovery queries to the given port number.
|
void |
start()
Called after construction, this method enables objects to delay
starting threads or exporting until after construction is complete,
to allow safe publication of the service in accordance with the JMM.
|
protected TransientRegistrarImpl(String[] configArgs, LifeCycle lifeCycle) throws Exception
Exceptionprotected TransientRegistrarImpl(Configuration config, LifeCycle lifeCycle) throws Exception
Exceptionpublic Object getServiceProxy() throws NoSuchObjectException
ServiceProxyAccessornull.NoSuchObjectExceptionpublic Object getProxy()
ProxyAccessornull is returned.getProxy in interface ProxyAccessornullpublic TrustVerifier getProxyVerifier() throws NoSuchObjectException
ServerProxyTrustTrustVerifier that can be used to verify that
a proxy can be trusted as a proxy for the service; that is, the
isTrustedObject method of the
returned verifier can be called with a candidate proxy. The verifier
should be able to verify all proxies for the service, including
proxies for resources (such as leases and registrations).getProxyVerifier in interface ServerProxyTrustTrustVerifier that can be used to verify that
a proxy can be trusted as a proxy for the serviceNoSuchObjectExceptionpublic ServiceRegistration register(org.apache.river.reggie.Item nitem, long leaseDuration) throws NoSuchObjectException
public MarshalledWrapper lookup(org.apache.river.reggie.Template tmpl) throws NoSuchObjectException
public org.apache.river.reggie.Matches lookup(org.apache.river.reggie.Template tmpl,
int maxMatches)
throws NoSuchObjectException
public EventRegistration notify(org.apache.river.reggie.Template tmpl, int transitions, RemoteEventListener listener, MarshalledObject handback, long leaseDuration) throws RemoteException
public org.apache.river.reggie.EntryClassBase[] getEntryClasses(org.apache.river.reggie.Template tmpl)
throws NoSuchObjectException
public Object[] getFieldValues(org.apache.river.reggie.Template tmpl, int setIndex, int field) throws NoSuchObjectException
public org.apache.river.reggie.ServiceTypeBase[] getServiceTypes(org.apache.river.reggie.Template tmpl,
String prefix)
throws NoSuchObjectException
public LookupLocator getLocator() throws NoSuchObjectException
NoSuchObjectExceptionServiceRegistrar.getLocator()public Object getAdmin() throws NoSuchObjectException
AdministrableNoSuchObjectExceptionJoinAdminpublic void addAttributes(ServiceID serviceID, Uuid leaseID, org.apache.river.reggie.EntryRep[] attrSets) throws NoSuchObjectException, UnknownLeaseException
public void modifyAttributes(ServiceID serviceID, Uuid leaseID, org.apache.river.reggie.EntryRep[] attrSetTmpls, org.apache.river.reggie.EntryRep[] attrSets) throws NoSuchObjectException, UnknownLeaseException
public void setAttributes(ServiceID serviceID, Uuid leaseID, org.apache.river.reggie.EntryRep[] attrSets) throws NoSuchObjectException, UnknownLeaseException
public void cancelServiceLease(ServiceID serviceID, Uuid leaseID) throws NoSuchObjectException, UnknownLeaseException
NoSuchObjectExceptionUnknownLeaseExceptionLease.cancel()public long renewServiceLease(ServiceID serviceID, Uuid leaseID, long renewDuration) throws NoSuchObjectException, UnknownLeaseException
NoSuchObjectExceptionUnknownLeaseExceptionLease.renew(long)public void cancelEventLease(long eventID,
Uuid leaseID)
throws NoSuchObjectException,
UnknownLeaseException
NoSuchObjectExceptionUnknownLeaseExceptionLease.cancel()public long renewEventLease(long eventID,
Uuid leaseID,
long renewDuration)
throws NoSuchObjectException,
UnknownLeaseException
NoSuchObjectExceptionUnknownLeaseExceptionLease.renew(long)public org.apache.river.reggie.RenewResults renewLeases(Object[] regIDs, Uuid[] leaseIDs, long[] renewDurations) throws NoSuchObjectException
NoSuchObjectExceptionLeaseMap.renewAll()public Exception[] cancelLeases(Object[] regIDs, Uuid[] leaseIDs) throws NoSuchObjectException
NoSuchObjectExceptionLeaseMap.cancelAll()public Entry[] getLookupAttributes() throws NoSuchObjectException
JoinAdminNoSuchObjectExceptionpublic void addLookupAttributes(Entry[] attrSets) throws RemoteException
JoinAdminattrSets - the attribute sets to addRemoteExceptionpublic void modifyLookupAttributes(Entry[] attrSetTemplates, Entry[] attrSets) throws RemoteException
JoinAdminattrSetTemplates - the templates for matching attribute setsattrSets - the modifications to make to matching setsRemoteExceptionServiceRegistration.modifyAttributes(net.jini.core.entry.Entry[], net.jini.core.entry.Entry[])public String[] getLookupGroups() throws NoSuchObjectException
JoinAdminNoSuchObjectExceptionJoinAdmin.setLookupGroups(java.lang.String[])public void addLookupGroups(String[] groups) throws NoSuchObjectException
JoinAdmingroups - groups to joinNoSuchObjectExceptionJoinAdmin.removeLookupGroups(java.lang.String[])public void removeLookupGroups(String[] groups) throws NoSuchObjectException
JoinAdmingroups - groups to leaveNoSuchObjectExceptionJoinAdmin.addLookupGroups(java.lang.String[])public void setLookupGroups(String[] groups) throws NoSuchObjectException
JoinAdmingroups - groups to joinNoSuchObjectExceptionJoinAdmin.getLookupGroups()public LookupLocator[] getLookupLocators() throws NoSuchObjectException
JoinAdminNoSuchObjectExceptionJoinAdmin.setLookupLocators(net.jini.core.discovery.LookupLocator[])public void addLookupLocators(LookupLocator[] locators) throws RemoteException
JoinAdminlocators - locators of specific lookup services to joinRemoteExceptionJoinAdmin.removeLookupLocators(net.jini.core.discovery.LookupLocator[])public void removeLookupLocators(LookupLocator[] locators) throws RemoteException
JoinAdminlocators - locators of specific lookup services to leaveRemoteExceptionJoinAdmin.addLookupLocators(net.jini.core.discovery.LookupLocator[])public void setLookupLocators(LookupLocator[] locators) throws RemoteException
JoinAdminlocators - locators of specific lookup services to joinRemoteExceptionJoinAdmin.getLookupLocators()public void addMemberGroups(String[] groups) throws NoSuchObjectException
DiscoveryAdminNO_GROUPS) is input, this method takes no action.groups - String array consisting of the names of
the new, additional groups in which the lookup service
is to be a member.NoSuchObjectExceptionpublic void removeMemberGroups(String[] groups) throws NoSuchObjectException
DiscoveryAdminNO_GROUPS) is input, this
method takes no action.groups - String array consisting of the names to
remove from the set whose elements are the names of the
groups in which the lookup service is currently a member.NoSuchObjectExceptionpublic String[] getMemberGroups() throws NoSuchObjectException
DiscoveryAdminString array consisting of the names of the groups
in which the lookup service is a memberNoSuchObjectExceptionpublic void setMemberGroups(String[] groups) throws NoSuchObjectException
DiscoveryAdminNO_GROUPS)
is input, then the lookup service will be a member of no groups.groups - String array consisting of the names of
the new groups in which the lookup service is to be a
member.NoSuchObjectExceptionpublic int getUnicastPort()
throws NoSuchObjectException
DiscoveryAdminint representing the port number on which the
lookup service listens for unicast discovery queries.NoSuchObjectExceptionpublic void setUnicastPort(int port)
throws IOException,
RemoteException
DiscoveryAdminport - int representing the new port number on which
the lookup service should listen for unicast discovery
queries.IOException - because an invocation of this method will
result in the re-initiation of the unicast discovery process,
which can throw an IOException when socket
allocation occurs.RemoteException - typically, this exception occurs when
there is a communication failure between the client and the
server.public void destroy()
throws RemoteException
DestroyAdminRemoteExceptionpublic void start()
throws Exception
StartableIn addition to starting threads after construction, it also allows objects to avoid throwing an exception during construction to avoid finalizer attacks.
The implementation is required to ensure start() is idempotent (only executed once, additional invocations must return immediately).
Copyright 2007-2013, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.