public class PersistentRegistrarImpl extends Object
Modifier | Constructor and Description |
---|---|
protected |
PersistentRegistrarImpl(String[] configArgs,
LifeCycle lifeCycle)
Constructs a non-activatable PersistentRegistrarImpl 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 PersistentRegistrarImpl(String[] configArgs, LifeCycle lifeCycle) throws Exception
Exception
public Object getServiceProxy() throws NoSuchObjectException
ServiceProxyAccessor
null
.NoSuchObjectException
public Object getProxy()
ProxyAccessor
null
is returned.getProxy
in interface ProxyAccessor
null
public TrustVerifier getProxyVerifier() throws NoSuchObjectException
ServerProxyTrust
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. The verifier
should be able to verify all proxies for the service, including
proxies for resources (such as leases and registrations).getProxyVerifier
in interface ServerProxyTrust
TrustVerifier
that can be used to verify that
a proxy can be trusted as a proxy for the serviceNoSuchObjectException
public 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
NoSuchObjectException
ServiceRegistrar.getLocator()
public Object getAdmin() throws NoSuchObjectException
Administrable
NoSuchObjectException
JoinAdmin
public 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
NoSuchObjectException
UnknownLeaseException
Lease.cancel()
public long renewServiceLease(ServiceID serviceID, Uuid leaseID, long renewDuration) throws NoSuchObjectException, UnknownLeaseException
NoSuchObjectException
UnknownLeaseException
Lease.renew(long)
public void cancelEventLease(long eventID, Uuid leaseID) throws NoSuchObjectException, UnknownLeaseException
NoSuchObjectException
UnknownLeaseException
Lease.cancel()
public long renewEventLease(long eventID, Uuid leaseID, long renewDuration) throws NoSuchObjectException, UnknownLeaseException
NoSuchObjectException
UnknownLeaseException
Lease.renew(long)
public org.apache.river.reggie.RenewResults renewLeases(Object[] regIDs, Uuid[] leaseIDs, long[] renewDurations) throws NoSuchObjectException
NoSuchObjectException
LeaseMap.renewAll()
public Exception[] cancelLeases(Object[] regIDs, Uuid[] leaseIDs) throws NoSuchObjectException
NoSuchObjectException
LeaseMap.cancelAll()
public Entry[] getLookupAttributes() throws NoSuchObjectException
JoinAdmin
NoSuchObjectException
public void addLookupAttributes(Entry[] attrSets) throws RemoteException
JoinAdmin
attrSets
- the attribute sets to addRemoteException
public void modifyLookupAttributes(Entry[] attrSetTemplates, Entry[] attrSets) throws RemoteException
JoinAdmin
attrSetTemplates
- the templates for matching attribute setsattrSets
- the modifications to make to matching setsRemoteException
ServiceRegistration.modifyAttributes(net.jini.core.entry.Entry[], net.jini.core.entry.Entry[])
public String[] getLookupGroups() throws NoSuchObjectException
JoinAdmin
NoSuchObjectException
JoinAdmin.setLookupGroups(java.lang.String[])
public void addLookupGroups(String[] groups) throws NoSuchObjectException
JoinAdmin
groups
- groups to joinNoSuchObjectException
JoinAdmin.removeLookupGroups(java.lang.String[])
public void removeLookupGroups(String[] groups) throws NoSuchObjectException
JoinAdmin
groups
- groups to leaveNoSuchObjectException
JoinAdmin.addLookupGroups(java.lang.String[])
public void setLookupGroups(String[] groups) throws NoSuchObjectException
JoinAdmin
groups
- groups to joinNoSuchObjectException
JoinAdmin.getLookupGroups()
public LookupLocator[] getLookupLocators() throws NoSuchObjectException
JoinAdmin
NoSuchObjectException
JoinAdmin.setLookupLocators(net.jini.core.discovery.LookupLocator[])
public void addLookupLocators(LookupLocator[] locators) throws RemoteException
JoinAdmin
locators
- locators of specific lookup services to joinRemoteException
JoinAdmin.removeLookupLocators(net.jini.core.discovery.LookupLocator[])
public void removeLookupLocators(LookupLocator[] locators) throws RemoteException
JoinAdmin
locators
- locators of specific lookup services to leaveRemoteException
JoinAdmin.addLookupLocators(net.jini.core.discovery.LookupLocator[])
public void setLookupLocators(LookupLocator[] locators) throws RemoteException
JoinAdmin
locators
- locators of specific lookup services to joinRemoteException
JoinAdmin.getLookupLocators()
public void addMemberGroups(String[] groups) throws NoSuchObjectException
DiscoveryAdmin
NO_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.NoSuchObjectException
public void removeMemberGroups(String[] groups) throws NoSuchObjectException
DiscoveryAdmin
NO_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.NoSuchObjectException
public String[] getMemberGroups() throws NoSuchObjectException
DiscoveryAdmin
String
array consisting of the names of the groups
in which the lookup service is a memberNoSuchObjectException
public void setMemberGroups(String[] groups) throws NoSuchObjectException
DiscoveryAdmin
NO_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.NoSuchObjectException
public int getUnicastPort() throws NoSuchObjectException
DiscoveryAdmin
int
representing the port number on which the
lookup service listens for unicast discovery queries.NoSuchObjectException
public void setUnicastPort(int port) throws IOException, RemoteException
DiscoveryAdmin
port
- 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
DestroyAdmin
RemoteException
public void start() throws Exception
Startable
In 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.