<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | |
<!-- NewPage --> | |
<html lang="en"> | |
<head> | |
<!-- Generated by javadoc (1.8.0) on Sun Aug 28 20:42:11 EST 2016 --> | |
<title>JoinManager (Apache River v3.0.0 API Documentation (internals))</title> | |
<meta name="date" content="2016-08-28"> | |
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style"> | |
<script type="text/javascript" src="../../../script.js"></script> | |
</head> | |
<body> | |
<script type="text/javascript"><!-- | |
try { | |
if (location.href.indexOf('is-external=true') == -1) { | |
parent.document.title="JoinManager (Apache River v3.0.0 API Documentation (internals))"; | |
} | |
} | |
catch(err) { | |
} | |
//--> | |
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":9,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10}; | |
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; | |
var altColor = "altColor"; | |
var rowColor = "rowColor"; | |
var tableTab = "tableTab"; | |
var activeTableTab = "activeTableTab"; | |
</script> | |
<noscript> | |
<div>JavaScript is disabled on your browser.</div> | |
</noscript> | |
<!-- ========= START OF TOP NAVBAR ======= --> | |
<div class="topNav"><a name="navbar.top"> | |
<!-- --> | |
</a> | |
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> | |
<a name="navbar.top.firstrow"> | |
<!-- --> | |
</a> | |
<ul class="navList" title="Navigation"> | |
<li><a href="../../../overview-summary.html">Overview</a></li> | |
<li><a href="package-summary.html">Package</a></li> | |
<li class="navBarCell1Rev">Class</li> | |
<li><a href="class-use/JoinManager.html">Use</a></li> | |
<li><a href="package-tree.html">Tree</a></li> | |
<li><a href="../../../deprecated-list.html">Deprecated</a></li> | |
<li><a href="../../../index-all.html">Index</a></li> | |
<li><a href="../../../help-doc.html">Help</a></li> | |
</ul> | |
</div> | |
<div class="subNav"> | |
<ul class="navList"> | |
<li><a href="../../../net/jini/lookup/DiscoveryAdmin.html" title="interface in net.jini.lookup"><span class="typeNameLink">Prev Class</span></a></li> | |
<li><a href="../../../net/jini/lookup/JoinManager.AddAttributesTask.html" title="class in net.jini.lookup"><span class="typeNameLink">Next Class</span></a></li> | |
</ul> | |
<ul class="navList"> | |
<li><a href="../../../index.html?net/jini/lookup/JoinManager.html" target="_top">Frames</a></li> | |
<li><a href="JoinManager.html" target="_top">No Frames</a></li> | |
</ul> | |
<ul class="navList" id="allclasses_navbar_top"> | |
<li><a href="../../../allclasses-noframe.html">All Classes</a></li> | |
</ul> | |
<div> | |
<script type="text/javascript"><!-- | |
allClassesLink = document.getElementById("allclasses_navbar_top"); | |
if(window==top) { | |
allClassesLink.style.display = "block"; | |
} | |
else { | |
allClassesLink.style.display = "none"; | |
} | |
//--> | |
</script> | |
</div> | |
<div> | |
<ul class="subNavList"> | |
<li>Summary: </li> | |
<li><a href="#nested.class.summary">Nested</a> | </li> | |
<li><a href="#field.summary">Field</a> | </li> | |
<li><a href="#constructor.summary">Constr</a> | </li> | |
<li><a href="#method.summary">Method</a></li> | |
</ul> | |
<ul class="subNavList"> | |
<li>Detail: </li> | |
<li><a href="#field.detail">Field</a> | </li> | |
<li><a href="#constructor.detail">Constr</a> | </li> | |
<li><a href="#method.detail">Method</a></li> | |
</ul> | |
</div> | |
<a name="skip.navbar.top"> | |
<!-- --> | |
</a></div> | |
<!-- ========= END OF TOP NAVBAR ========= --> | |
<!-- ======== START OF CLASS DATA ======== --> | |
<div class="header"> | |
<div class="subTitle">net.jini.lookup</div> | |
<h2 title="Class JoinManager" class="title">Class JoinManager</h2> | |
</div> | |
<div class="contentContainer"> | |
<ul class="inheritance"> | |
<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li> | |
<li> | |
<ul class="inheritance"> | |
<li>net.jini.lookup.JoinManager</li> | |
</ul> | |
</li> | |
</ul> | |
<div class="description"> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<hr> | |
<br> | |
<pre>public class <span class="typeNameLabel">JoinManager</span> | |
extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre> | |
<div class="block">A goal of any well-behaved service is to advertise the facilities and | |
functions it provides by requesting residency within at least one lookup | |
service. Making such a request of a lookup service is known as registering | |
with, or <i>joining</i>, a lookup service. To demonstrate this good | |
behavior, a service must comply with both the multicast discovery protocol | |
and the unicast discovery protocol in order to discover the lookup services | |
it is interested in joining. The service must also comply with the join | |
protocol to register with the desired lookup services. | |
<p> | |
In order for a service to maintain its residency in the lookup services | |
it has joined, the service must provide for the coordination, systematic | |
renewal, and overall management of all leases on that residency. In | |
addition to handling all discovery and join duties, as well as managing | |
all leases on lookup service residency, the service must also provide | |
for the coordination and management of any attribute sets with which | |
it may have registered with the lookup services in which it resides. | |
<p> | |
This class performs all of the functions related to discovery, joining, | |
service lease renewal, and attribute management which is required of a | |
well-behaved service. Each of these activities is intimately involved | |
with the maintenance of a service's residency in one or more lookup | |
services (the service's join state), thus the name <code>JoinManager</code>. | |
<p> | |
This class should be employed by services, not clients. The use of this | |
class in a wide variety of services can help minimize the work resulting | |
from having to repeatedly implement this required functionality in each | |
service. Note that this class is not remote. Services that wish to use | |
this class will create an instance of this class in the service's address | |
space to manage the entity's join state locally.</div> | |
<dl> | |
<dt><span class="simpleTagLabel">Author:</span></dt> | |
<dd>Sun Microsystems, Inc.</dd> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery"><code>DiscoveryManagement</code></a>, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease"><code>LeaseRenewalManager</code></a>, | |
<a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Level.html?is-external=true" title="class or interface in java.util.logging"><code>Level</code></a>, | |
<a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging"><code>Logger</code></a></dd> | |
<dt><span class="simpleTagLabel">Implementation Specifics:</span></dt> | |
<dd><!-- Implementation Specifics --> | |
The following implementation-specific items are discussed below: | |
<ul><li> <a href="#jmConfigEntries">Configuring JoinManager</a> | |
<li> <a href="#jmLogging">Logging</a> | |
</ul> | |
<a name="jmConfigEntries"> | |
<p> | |
<b><font size="+1">Configuring JoinManager</font></b> | |
<p> | |
</a> | |
This implementation of <code>JoinManager</code> supports the following | |
configuration entries; where each configuration entry name is associated | |
with the component name <code>net.jini.lookup.JoinManager</code>. Note | |
that the configuration entries specified here are specific to this | |
implementation of <code>JoinManager</code>. Unless otherwise stated, each | |
entry is retrieved from the configuration only once per instance of | |
this utility, where each such retrieval is performed in the constructor. | |
<a name="discoveryManager"> | |
<table summary="Describes the discoveryManager configuration entry" | |
border="0" cellpadding="2"> | |
<tr valign="top"> | |
<th scope="col" summary="layout"> <font size="+1">•</font> | |
<th scope="col" align="left" colspan="2"> <font size="+1"> | |
<code>discoveryManager</code></font> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Type: <td> <a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery"><code>DiscoveryManagement</code></a> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Default: <td> <code> new | |
<a href="../../../net/jini/discovery/LookupDiscoveryManager.html#LookupDiscoveryManager-java.lang.String:A-net.jini.core.discovery.LookupLocator:A-net.jini.discovery.DiscoveryListener-net.jini.config.Configuration-"><code>LookupDiscoveryManager</code></a>( | |
new java.lang.String[] {""}, | |
new <a href="../../../net/jini/core/discovery/LookupLocator.html" title="class in net.jini.core.discovery"><code>LookupLocator</code></a>[0], | |
null, config)</code> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Description: | |
<td> The object used to manage the discovery processing | |
performed by this utility. This entry will be retrieved | |
from the configuration only if no discovery manager is | |
specified in the constructor. Note that this object should | |
not be shared with other components in the application that | |
employs this utility. | |
</table> | |
</a> | |
<a name="leaseManager"> | |
<table summary="Describes the leaseManager configuration entry" | |
border="0" cellpadding="2"> | |
<tr valign="top"> | |
<th scope="col" summary="layout"> <font size="+1">•</font> | |
<th scope="col" align="left" colspan="2"> <font size="+1"> | |
<code>leaseManager</code></font> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Type: <td> <a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease"><code>LeaseRenewalManager</code></a> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Default: <td> <code> new | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html#LeaseRenewalManager-net.jini.config.Configuration-"><code>LeaseRenewalManager</code></a>(config)</code> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Description: | |
<td> The object used to manage each service lease returned | |
to this utility when the service is registered with the | |
the various discovered lookup services. This entry will | |
be retrieved from the configuration only if no lease | |
renewal manager is specified in the constructor. | |
</table> | |
</a> | |
<a name="maxLeaseDuration"> | |
<table summary="Describes the maxLeaseDuration | |
configuration entry" border="0" cellpadding="2"> | |
<tr valign="top"> | |
<th scope="col" summary="layout"> <font size="+1">•</font> | |
<th scope="col" align="left" colspan="2"> <font size="+1"> | |
<code>maxLeaseDuration</code></font> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Type: <td> <code>long</code> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Default: <td> <code>Lease.FOREVER</code> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Description: | |
<td> The maximum lease duration (in milliseconds) that is requested | |
from each discovered lookup service on behalf of the service; | |
both when the lease is initially requested, as well as when | |
renewal of that lease is requested. Note that as this value is | |
made smaller, renewal requests will be made more frequently | |
while the service is up, and lease expiration will occur sooner | |
when the service goes down. | |
</table> | |
</a> | |
<a name="registrarPreparer"> | |
<table summary="Describes the registrarPreparer configuration entry" | |
border="0" cellpadding="2"> | |
<tr valign="top"> | |
<th scope="col" summary="layout"> <font size="+1">•</font> | |
<th scope="col" align="left" colspan="2"> <font size="+1"> | |
<code>registrarPreparer</code></font> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Type: <td> <a href="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security"><code>ProxyPreparer</code></a> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Default: <td> <code>new <a href="../../../net/jini/security/BasicProxyPreparer.html" title="class in net.jini.security"><code>BasicProxyPreparer</code></a>() | |
</code> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Description: | |
<td> Preparer for the proxies to the lookup services that are | |
discovered and used by this utility. | |
<p> | |
The following methods of the proxy returned by this preparer are | |
invoked by this utility: | |
<ul> | |
<li><a href="../../../net/jini/core/lookup/ServiceRegistrar.html#register-net.jini.core.lookup.ServiceItem-long-"><code>register</code></a> | |
</ul> | |
</table> | |
</a> | |
<a name="registrationPreparer"> | |
<table summary="Describes the registrationPreparer configuration entry" | |
border="0" cellpadding="2"> | |
<tr valign="top"> | |
<th scope="col" summary="layout"> <font size="+1">•</font> | |
<th scope="col" align="left" colspan="2"> <font size="+1"> | |
<code>registrationPreparer</code></font> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Type: <td> <a href="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security"><code>ProxyPreparer</code></a> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Default: <td> <code>new <a href="../../../net/jini/security/BasicProxyPreparer.html" title="class in net.jini.security"><code>BasicProxyPreparer</code></a>() | |
</code> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Description: | |
<td> Preparer for the proxies to the registrations returned to | |
this utility upon registering the service with each discovered | |
lookup service. | |
<p> | |
The following methods of the proxy returned by this preparer are | |
invoked by this utility: | |
<ul> | |
<li><a href="../../../net/jini/core/lookup/ServiceRegistration.html#getServiceID--"><code>getServiceID</code></a> | |
<li><a href="../../../net/jini/core/lookup/ServiceRegistration.html#getLease--"><code>getLease</code></a> | |
<li><a href="../../../net/jini/core/lookup/ServiceRegistration.html#addAttributes-net.jini.core.entry.Entry:A-"><code>addAttributes</code></a> | |
<li><a href="../../../net/jini/core/lookup/ServiceRegistration.html#modifyAttributes-net.jini.core.entry.Entry:A-net.jini.core.entry.Entry:A-"><code>modifyAttributes</code></a> | |
<li><a href="../../../net/jini/core/lookup/ServiceRegistration.html#setAttributes-net.jini.core.entry.Entry:A-"><code>setAttributes</code></a> | |
</ul> | |
</table> | |
</a> | |
<a name="serviceLeasePreparer"> | |
<table summary="Describes the serviceLeasePreparer configuration entry" | |
border="0" cellpadding="2"> | |
<tr valign="top"> | |
<th scope="col" summary="layout"> <font size="+1">•</font> | |
<th scope="col" align="left" colspan="2"> <font size="+1"> | |
<code>serviceLeasePreparer</code></font> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Type: <td> <a href="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security"><code>ProxyPreparer</code></a> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Default: <td> <code>new <a href="../../../net/jini/security/BasicProxyPreparer.html" title="class in net.jini.security"><code>BasicProxyPreparer</code></a>() | |
</code> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Description: | |
<td> Preparer for the leases returned to this utility through | |
the registrations with each discovered lookup service with | |
which this utility has registered the service. | |
<p> | |
Currently, none of the methods on the service lease returned | |
by this preparer are invoked by this implementation of the utility. | |
</table> | |
</a> | |
<a name="executorService"> | |
<table summary="Describes the executorService configuration entry" | |
border="0" cellpadding="2"> | |
<tr valign="top"> | |
<th scope="col" summary="layout"> <font size="+1">•</font> | |
<th scope="col" align="left" colspan="2"> <font size="+1"> | |
<code>executorService</code></font> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Type: <td> <a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util"><code>ExecutorService</code></a> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Default: <td> <code>new | |
<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util"><code>ThreadPoolExecutor</code></a>( | |
15, | |
15, | |
15, | |
TimeUnit.SECONDS, | |
new <a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util"><code>LinkedBlockingQueue</code></a>(), | |
new <code>NamedThreadFactory</code>("JoinManager executor thread", false))</code> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Description: | |
<td> The object that pools and manages the various threads | |
executed by this utility. This object | |
should not be shared with other components in the | |
application that employs this utility. | |
</table> | |
</a> | |
<a name="wakeupManager"> | |
<table summary="Describes the wakeupManager configuration entry" | |
border="0" cellpadding="2"> | |
<tr valign="top"> | |
<th scope="col" summary="layout"> <font size="+1">•</font> | |
<th scope="col" align="left" colspan="2"> <font size="+1"> | |
<code>wakeupManager</code></font> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Type: <td> <a href="../../../org/apache/river/thread/WakeupManager.html" title="class in org.apache.river.thread"><code>WakeupManager</code></a> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Default: <td> <code>new | |
<a href="../../../org/apache/river/thread/WakeupManager.html#WakeupManager-org.apache.river.thread.WakeupManager.ThreadDesc-"><code>WakeupManager</code></a>(new | |
<a href="../../../org/apache/river/thread/WakeupManager.ThreadDesc.html" title="class in org.apache.river.thread"><code>WakeupManager.ThreadDesc</code></a>(null,true))</code> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Description: | |
<td> Object that pools and manages the various tasks that are | |
initially executed by the object corresponding to the | |
<a href="#executorService"><code>executorService</code></a> entry | |
of this component, but which fail during that initial execution. | |
This object schedules the re-execution of such a failed task - | |
in the <a href="#executorService"><code>executorService</code></a> | |
object - at various times in the future, until either the | |
task succeeds or the task has been executed the maximum | |
number of allowable times, corresponding to the | |
<a href="#wakeupRetries"><code>wakeupRetries</code></a> | |
entry of this component. This object should not be shared | |
with other components in the application that employs this | |
utility. | |
</table> | |
</a> | |
<a name="wakeupRetries"> | |
<table summary="Describes the wakeupRetries | |
configuration entry" border="0" cellpadding="2"> | |
<tr valign="top"> | |
<th scope="col" summary="layout"> <font size="+1">•</font> | |
<th scope="col" align="left" colspan="2"> <font size="+1"> | |
<code>wakeupRetries</code></font> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Type: <td> <code>int</code> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Default: <td> <code>6</code> | |
<tr valign="top"> <td>   <th scope="row" align="right"> | |
Description: | |
<td> The maximum number of times a failed task is allowed to | |
be executed by the object corresponding to the | |
<a href="#wakeupManager"><code>wakeupManager</code></a> | |
entry of this component. | |
</table> | |
</a> | |
<a name="jmLogging"> | |
<p> | |
<b><font size="+1">Logging</font></b> | |
<p> | |
</a> | |
This implementation of <code>JoinManager</code> uses the | |
<a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging"><code>Logger</code></a> named <code>net.jini.lookup.JoinManager</code> | |
to log information at the following logging levels: <p> | |
<table border="1" cellpadding="5" | |
summary="Describes the information logged by JoinManager, | |
and the levels at which that information is logged"> | |
<caption halign="center" valign="top"> | |
<b><code>net.jini.lookup.JoinManager</code></b> | |
</caption> | |
<tr> <th scope="col"> Level</th> | |
<th scope="col"> Description</th> | |
</tr> | |
<tr> | |
<td><a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Level.html?is-external=true#INFO" title="class or interface in java.util.logging"><code>INFO</code></a></td> | |
<td>when a task is stopped because of a definite exception</td> | |
</tr> | |
<tr> | |
<td><a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Level.html?is-external=true#INFO" title="class or interface in java.util.logging"><code>INFO</code></a></td> | |
<td> | |
when a task is stopped because it has exceeded the maximum number of | |
times the task is allowed to be tried/re-tried | |
</td> | |
</tr> | |
<tr> | |
<td><a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Level.html?is-external=true#INFO" title="class or interface in java.util.logging"><code>INFO</code></a></td> | |
<td>when any exception occurs while attempting to prepare a proxy</td> | |
</tr> | |
<tr> | |
<td><a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Level.html?is-external=true#FINER" title="class or interface in java.util.logging"><code>FINER</code></a></td> | |
<td> | |
when any exception (other than the more serious exceptions logged | |
at higher levels) occurs in a task | |
</td> | |
</tr> | |
<tr> | |
<td><a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Level.html?is-external=true#FINEST" title="class or interface in java.util.logging"><code>FINEST</code></a></td> | |
<td> | |
when an <code>IllegalStateException</code> occurs upon attempting to | |
discard a lookup service | |
</td> | |
</tr> | |
<tr> | |
<td><a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Level.html?is-external=true#FINEST" title="class or interface in java.util.logging"><code>FINEST</code></a></td> | |
<td>whenever any task is started</td> | |
</tr> | |
<tr> | |
<td><a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Level.html?is-external=true#FINEST" title="class or interface in java.util.logging"><code>FINEST</code></a></td> | |
<td>whenever any task completes successfully</td> | |
</tr> | |
<tr> | |
<td><a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Level.html?is-external=true#FINEST" title="class or interface in java.util.logging"><code>FINEST</code></a></td> | |
<td>whenever a proxy is prepared</td> | |
</tr> | |
</table> | |
<p></dd> | |
</dl> | |
</li> | |
</ul> | |
</div> | |
<div class="summary"> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<!-- ======== NESTED CLASS SUMMARY ======== --> | |
<ul class="blockList"> | |
<li class="blockList"><a name="nested.class.summary"> | |
<!-- --> | |
</a> | |
<h3>Nested Class Summary</h3> | |
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation"> | |
<caption><span>Nested Classes</span><span class="tabEnd"> </span></caption> | |
<tr> | |
<th class="colFirst" scope="col">Modifier and Type</th> | |
<th class="colLast" scope="col">Class and Description</th> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private static class </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.AddAttributesTask.html" title="class in net.jini.lookup">JoinManager.AddAttributesTask</a></span></code> | |
<div class="block">Task that asynchronously augments the attributes associated with this | |
join manager's service in the lookup service referenced by the | |
current instance of this class.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private static class </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.Conf.html" title="class in net.jini.lookup">JoinManager.Conf</a></span></code> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private class </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.DiscardProxyTask.html" title="class in net.jini.lookup">JoinManager.DiscardProxyTask</a></span></code> | |
<div class="block">Task that asynchronously requests the cancellation of the lease | |
on the <code>ServiceRegistration</code> referenced by the given | |
<code>ProxyReg</code> object.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private class </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.DiscMgrListener.html" title="class in net.jini.lookup">JoinManager.DiscMgrListener</a></span></code> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private static class </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.JoinTask.html" title="class in net.jini.lookup">JoinManager.JoinTask</a></span></code> | |
<div class="block">Abstract base class from which all the sub-task classes are derived.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private class </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.LeaseExpireNotifyTask.html" title="class in net.jini.lookup">JoinManager.LeaseExpireNotifyTask</a></span></code> | |
<div class="block">Task that asynchronously re-registers the service associated with this | |
join manager with the lookup service referenced by the current | |
instance of this class.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private static class </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.ModifyAttributesTask.html" title="class in net.jini.lookup">JoinManager.ModifyAttributesTask</a></span></code> | |
<div class="block">Task that asynchronously modifies the attributes associated with this | |
join manager's service in the lookup service referenced by the | |
current instance of this class.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private class </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.ProxyReg.html" title="class in net.jini.lookup">JoinManager.ProxyReg</a></span></code> | |
<div class="block">Wrapper class in which each instance corresponds to a lookup | |
service to discover, and with which this join manager's service | |
should be registered.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private class </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.ProxyRegTask.html" title="class in net.jini.lookup">JoinManager.ProxyRegTask</a></span></code> | |
<div class="block">Abstract base class from which all of the task classes are derived.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private static class </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.ProxyRegTaskQueue.html" title="class in net.jini.lookup">JoinManager.ProxyRegTaskQueue</a></span></code> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private static class </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.RegisterTask.html" title="class in net.jini.lookup">JoinManager.RegisterTask</a></span></code> | |
<div class="block">Task that asynchronously registers the service associated with this | |
join manager with the lookup service referenced by the current | |
instance of this class.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private static class </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.SetAttributesTask.html" title="class in net.jini.lookup">JoinManager.SetAttributesTask</a></span></code> | |
<div class="block">Task that asynchronously replaces the attributes associated with this | |
join manager's service in the lookup service referenced by the | |
current instance of this class.</div> | |
</td> | |
</tr> | |
</table> | |
</li> | |
</ul> | |
<!-- =========== FIELD SUMMARY =========== --> | |
<ul class="blockList"> | |
<li class="blockList"><a name="field.summary"> | |
<!-- --> | |
</a> | |
<h3>Field Summary</h3> | |
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> | |
<caption><span>Fields</span><span class="tabEnd"> </span></caption> | |
<tr> | |
<th class="colFirst" scope="col">Modifier and Type</th> | |
<th class="colLast" scope="col">Field and Description</th> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private boolean</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#bCreateDiscMgr">bCreateDiscMgr</a></span></code> | |
<div class="block">Flag that indicate whether the discovery manager employed by this | |
join manager was created by this join manager itself, or by the | |
entity that constructed this join manager.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private boolean</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#bTerminated">bTerminated</a></span></code> | |
<div class="block">Flag that indicates if this join manager has been terminated.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private <a href="../../../net/jini/lookup/ServiceIDListener.html" title="interface in net.jini.lookup">ServiceIDListener</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#callback">callback</a></span></code> | |
<div class="block">Contains the listener -- instantiated by the entity that constructs | |
this join manager -- that will receive an event containing the | |
service ID assigned to this join manager's service by one of the | |
lookup services with which that service is registered.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#COMPONENT_NAME">COMPONENT_NAME</a></span></code> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private <a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#discMgr">discMgr</a></span></code> | |
<div class="block">Contains the discovery manager that discovers the lookup services | |
with which this join manager will register its associated service.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private <a href="../../../net/jini/lookup/JoinManager.DiscMgrListener.html" title="class in net.jini.lookup">JoinManager.DiscMgrListener</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#discMgrListener">discMgrListener</a></span></code> | |
<div class="block">Contains the discovery listener registered by this join manager with | |
the discovery manager so that this join manager is notified whenever | |
one of the desired lookup services is discovered or discarded.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.ExecutorService.html?is-external=true" title="class or interface in java.util">java.util.concurrent.ExecutorService</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#executor">executor</a></span></code> | |
<div class="block">Task manager for the various tasks executed by this join manager.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../net/jini/lookup/JoinManager.ProxyReg.html" title="class in net.jini.lookup">JoinManager.ProxyReg</a>></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#joinSet">joinSet</a></span></code> | |
<div class="block">Contains elements of type <code>ProxyReg</code> where each element | |
references a proxy to one of the lookup services with which this | |
join manager's service is registered.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private <a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#leaseRenewalMgr">leaseRenewalMgr</a></span></code> | |
<div class="block">Contains the lease renewal manager that renews all of the leases | |
this join manager's service holds with each lookup service with which | |
it has been registered.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging">Logger</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#logger">logger</a></span></code> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private <a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[]</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#lookupAttr">lookupAttr</a></span></code> | |
<div class="block">Contains the attributes with which to associate the service in each | |
of the lookup services with which this join manager registers the | |
service.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private static int</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#MAX_N_TASKS">MAX_N_TASKS</a></span></code> | |
<div class="block">Maximum number of concurrent tasks that can be run in any default | |
ExecutorService created by this class.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private int</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#maxNRetries">maxNRetries</a></span></code> | |
<div class="block">Maximum number of times a failed task is allowed to be re-executed.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private <a href="../../../net/jini/lookup/JoinManager.ProxyRegTaskQueue.html" title="class in net.jini.lookup">JoinManager.ProxyRegTaskQueue</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#proxyRegTaskQueue">proxyRegTaskQueue</a></span></code> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private <a href="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security">ProxyPreparer</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#registrarPreparer">registrarPreparer</a></span></code> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private <a href="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security">ProxyPreparer</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#registrationPreparer">registrationPreparer</a></span></code> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private long</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#renewalDuration">renewalDuration</a></span></code> | |
<div class="block">The value to use as the <code>renewDuration</code> parameter | |
when invoking the lease renewal manager's <code>renewUntil</code> | |
method to add a service lease to manage.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private <a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#serviceItem">serviceItem</a></span></code> | |
<div class="block">Contains the reference to the service that is to be registered with | |
all of the desired lookup services referenced by <code>discMgr</code>.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private <a href="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security">ProxyPreparer</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#serviceLeasePreparer">serviceLeasePreparer</a></span></code> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code>private int</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#taskSeqN">taskSeqN</a></span></code> | |
<div class="block">Whenever a task is created in this join manager, it is assigned a | |
unique sequence number so that the task is not run prior to the | |
execution, and completion of, any other tasks with which that task | |
is associated (tasks are grouped by the <code>ProxyReg</code> with | |
which each task is associated).</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private <a href="../../../org/apache/river/thread/WakeupManager.html" title="class in org.apache.river.thread">WakeupManager</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#wakeupMgr">wakeupMgr</a></span></code> | |
<div class="block">Wakeup manager for the various tasks executed by this join manager.</div> | |
</td> | |
</tr> | |
</table> | |
</li> | |
</ul> | |
<!-- ======== CONSTRUCTOR SUMMARY ======== --> | |
<ul class="blockList"> | |
<li class="blockList"><a name="constructor.summary"> | |
<!-- --> | |
</a> | |
<h3>Constructor Summary</h3> | |
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> | |
<caption><span>Constructors</span><span class="tabEnd"> </span></caption> | |
<tr> | |
<th class="colFirst" scope="col">Modifier</th> | |
<th class="colLast" scope="col">Constructor and Description</th> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code> </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#JoinManager-java.lang.Object-net.jini.core.entry.Entry:A-net.jini.core.lookup.ServiceID-net.jini.discovery.DiscoveryManagement-net.jini.lease.LeaseRenewalManager-">JoinManager</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a> serviceID, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a> discoveryMgr, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a> leaseMgr)</code> | |
<div class="block">Constructs an instance of this class that will register the | |
service with all discovered lookup services, using the supplied | |
<code>ServiceID</code>.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code> </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#JoinManager-java.lang.Object-net.jini.core.entry.Entry:A-net.jini.core.lookup.ServiceID-net.jini.discovery.DiscoveryManagement-net.jini.lease.LeaseRenewalManager-net.jini.config.Configuration-">JoinManager</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a> serviceID, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a> discoveryMgr, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a> leaseMgr, | |
<a href="../../../net/jini/config/Configuration.html" title="interface in net.jini.config">Configuration</a> config)</code> | |
<div class="block">Constructs an instance of this class, configured using the items | |
retrieved through the given <code>Configuration</code>, that will | |
register the service with all discovered lookup services, using the | |
supplied <code>ServiceID</code>.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code> </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#JoinManager-java.lang.Object-net.jini.core.entry.Entry:A-net.jini.lookup.ServiceIDListener-net.jini.discovery.DiscoveryManagement-net.jini.lease.LeaseRenewalManager-">JoinManager</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
<a href="../../../net/jini/lookup/ServiceIDListener.html" title="interface in net.jini.lookup">ServiceIDListener</a> callback, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a> discoveryMgr, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a> leaseMgr)</code> | |
<div class="block">Constructs an instance of this class that will register the given | |
service reference with all discovered lookup services and, through | |
an event sent to the given <code>ServiceIDListener</code> object, | |
communicate the service ID assigned by the first lookup service | |
with which the service is registered.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><code> </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#JoinManager-java.lang.Object-net.jini.core.entry.Entry:A-net.jini.lookup.ServiceIDListener-net.jini.discovery.DiscoveryManagement-net.jini.lease.LeaseRenewalManager-net.jini.config.Configuration-">JoinManager</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
<a href="../../../net/jini/lookup/ServiceIDListener.html" title="interface in net.jini.lookup">ServiceIDListener</a> callback, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a> discoveryMgr, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a> leaseMgr, | |
<a href="../../../net/jini/config/Configuration.html" title="interface in net.jini.config">Configuration</a> config)</code> | |
<div class="block">Constructs an instance of this class, configured using the items | |
retrieved through the given <code>Configuration</code> object, | |
that will register the given service reference with all discovered | |
lookup services and, through an event sent to the given | |
<code>ServiceIDListener</code> object, communicate the service ID | |
assigned by the first lookup service with which the service is | |
registered.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><code>private </code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#JoinManager-java.lang.Object-net.jini.core.entry.Entry:A-net.jini.core.lookup.ServiceID-net.jini.lookup.ServiceIDListener-net.jini.lookup.JoinManager.Conf-">JoinManager</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a> serviceID, | |
<a href="../../../net/jini/lookup/ServiceIDListener.html" title="interface in net.jini.lookup">ServiceIDListener</a> callback, | |
<a href="../../../net/jini/lookup/JoinManager.Conf.html" title="class in net.jini.lookup">JoinManager.Conf</a> conf)</code> | |
<div class="block">Convenience method invoked by the constructors of this class that | |
uses the given <code>Configuration</code> to initialize the current | |
instance of this utility, and initiates all join processing for | |
the given parameters.</div> | |
</td> | |
</tr> | |
</table> | |
</li> | |
</ul> | |
<!-- ========== METHOD SUMMARY =========== --> | |
<ul class="blockList"> | |
<li class="blockList"><a name="method.summary"> | |
<!-- --> | |
</a> | |
<h3>Method Summary</h3> | |
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> | |
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> | |
<tr> | |
<th class="colFirst" scope="col">Modifier and Type</th> | |
<th class="colLast" scope="col">Method and Description</th> | |
</tr> | |
<tr id="i0" class="altColor"> | |
<td class="colFirst"><code>void</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#addAttributes-net.jini.core.entry.Entry:A-">addAttributes</a></span>(<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets)</code> | |
<div class="block">Associates a new set of attributes with the service, in addition to | |
the service's current set of attributes.</div> | |
</td> | |
</tr> | |
<tr id="i1" class="rowColor"> | |
<td class="colFirst"><code>void</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#addAttributes-net.jini.core.entry.Entry:A-boolean-">addAttributes</a></span>(<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
boolean checkSC)</code> | |
<div class="block">Associates a new set of attributes with the service, in addition to | |
the service's current set of attributes.</div> | |
</td> | |
</tr> | |
<tr id="i2" class="altColor"> | |
<td class="colFirst"><code>private <a href="../../../net/jini/lookup/JoinManager.ProxyReg.html" title="class in net.jini.lookup">JoinManager.ProxyReg</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#findReg-net.jini.core.lookup.ServiceRegistrar-">findReg</a></span>(<a href="../../../net/jini/core/lookup/ServiceRegistrar.html" title="interface in net.jini.core.lookup">ServiceRegistrar</a> proxy)</code> | |
<div class="block">For the given lookup service proxy, searches the <code>joinSet</code> | |
for the corresponding <code>ProxyReg</code> element, and upon finding | |
such an element, returns that element; otherwise returns | |
<code>null</code>.</div> | |
</td> | |
</tr> | |
<tr id="i3" class="rowColor"> | |
<td class="colFirst"><code><a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[]</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#getAttributes--">getAttributes</a></span>()</code> | |
<div class="block">Returns an array containing the set of attributes currently associated | |
with the service.</div> | |
</td> | |
</tr> | |
<tr id="i4" class="altColor"> | |
<td class="colFirst"><code>private static <a href="../../../net/jini/lookup/JoinManager.Conf.html" title="class in net.jini.lookup">JoinManager.Conf</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#getConf-net.jini.config.Configuration-net.jini.lease.LeaseRenewalManager-net.jini.discovery.DiscoveryManagement-java.lang.Object-">getConf</a></span>(<a href="../../../net/jini/config/Configuration.html" title="interface in net.jini.config">Configuration</a> config, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a> leaseMgr, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a> discoveryMgr, | |
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy)</code> | |
<div class="block">This method is for constructors that use an empty configuration.</div> | |
</td> | |
</tr> | |
<tr id="i5" class="rowColor"> | |
<td class="colFirst"><code>private static <a href="../../../net/jini/lookup/JoinManager.Conf.html" title="class in net.jini.lookup">JoinManager.Conf</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#getConfig-net.jini.config.Configuration-net.jini.lease.LeaseRenewalManager-net.jini.discovery.DiscoveryManagement-java.lang.Object-">getConfig</a></span>(<a href="../../../net/jini/config/Configuration.html" title="interface in net.jini.config">Configuration</a> config, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a> leaseMgr, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a> discoveryMgr, | |
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy)</code> | |
<div class="block">Gets the configuration and throws any exceptions.</div> | |
</td> | |
</tr> | |
<tr id="i6" class="altColor"> | |
<td class="colFirst"><code><a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#getDiscoveryManager--">getDiscoveryManager</a></span>()</code> | |
<div class="block">Returns the instance of <code>DiscoveryManagement</code> that was | |
either passed into the constructor, or that was created as a result | |
of <code>null</code> being input to that parameter.</div> | |
</td> | |
</tr> | |
<tr id="i7" class="rowColor"> | |
<td class="colFirst"><code><a href="../../../net/jini/core/lookup/ServiceRegistrar.html" title="interface in net.jini.core.lookup">ServiceRegistrar</a>[]</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#getJoinSet--">getJoinSet</a></span>()</code> | |
<div class="block">Returns an array of <code>ServiceRegistrar</code> objects, each | |
corresponding to a lookup service with which the service is currently | |
registered (joined).</div> | |
</td> | |
</tr> | |
<tr id="i8" class="altColor"> | |
<td class="colFirst"><code><a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#getLeaseRenewalManager--">getLeaseRenewalManager</a></span>()</code> | |
<div class="block">Returns the instance of the <code>LeaseRenewalManager</code> class | |
that was either passed into the constructor, or that was created | |
as a result of <code>null</code> being input to that parameter.</div> | |
</td> | |
</tr> | |
<tr id="i9" class="rowColor"> | |
<td class="colFirst"><code>void</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#modifyAttributes-net.jini.core.entry.Entry:A-net.jini.core.entry.Entry:A-">modifyAttributes</a></span>(<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSetTemplates, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets)</code> | |
<div class="block">Changes the service's current set of attributes using the same | |
semantics as the <code>modifyAttributes</code> method of the | |
<code>ServiceRegistration</code> class.</div> | |
</td> | |
</tr> | |
<tr id="i10" class="altColor"> | |
<td class="colFirst"><code>void</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#modifyAttributes-net.jini.core.entry.Entry:A-net.jini.core.entry.Entry:A-boolean-">modifyAttributes</a></span>(<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSetTemplates, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
boolean checkSC)</code> | |
<div class="block">Changes the service's current set of attributes using the same | |
semantics as the <code>modifyAttributes</code> method of the | |
<code>ServiceRegistration</code> class.</div> | |
</td> | |
</tr> | |
<tr id="i11" class="rowColor"> | |
<td class="colFirst"><code>private void</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#removeTasks-net.jini.lookup.JoinManager.ProxyReg-">removeTasks</a></span>(<a href="../../../net/jini/lookup/JoinManager.ProxyReg.html" title="class in net.jini.lookup">JoinManager.ProxyReg</a> proxyReg)</code> | |
<div class="block">Removes (from the task manager) and cancels (in the wakeup manager) | |
all tasks associated with the given instance of <code>ProxyReg</code>.</div> | |
</td> | |
</tr> | |
<tr id="i12" class="altColor"> | |
<td class="colFirst"><code>void</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#replaceRegistration-java.lang.Object-">replaceRegistration</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy)</code> | |
<div class="block">Registers a new reference to the service with all current and future | |
discovered lookup services.</div> | |
</td> | |
</tr> | |
<tr id="i13" class="rowColor"> | |
<td class="colFirst"><code>void</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#replaceRegistration-java.lang.Object-net.jini.core.entry.Entry:A-">replaceRegistration</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets)</code> | |
<div class="block">Registers a new reference to the service with all current and future | |
discovered lookup services, applying semantics identical to the | |
one-argument form of this method, except with respect to the | |
registration of the given attribute sets.</div> | |
</td> | |
</tr> | |
<tr id="i14" class="altColor"> | |
<td class="colFirst"><code>private void</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#replaceRegistrationDo-java.lang.Object-net.jini.core.entry.Entry:A-boolean-">replaceRegistrationDo</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
boolean doAttrs)</code> | |
<div class="block">Convenience method invoked by either form of the method | |
<code>replaceRegistration</code>.</div> | |
</td> | |
</tr> | |
<tr id="i15" class="rowColor"> | |
<td class="colFirst"><code>void</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#setAttributes-net.jini.core.entry.Entry:A-">setAttributes</a></span>(<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets)</code> | |
<div class="block">Replaces the service's current set of attributes with a new set of | |
attributes.</div> | |
</td> | |
</tr> | |
<tr id="i16" class="altColor"> | |
<td class="colFirst"><code>void</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#terminate--">terminate</a></span>()</code> | |
<div class="block">Performs cleanup duties related to the termination of the lookup | |
service discovery event mechanism, as well as the lease and | |
thread management performed by the <code>JoinManager</code>.</div> | |
</td> | |
</tr> | |
<tr id="i17" class="rowColor"> | |
<td class="colFirst"><code>private void</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#terminateTaskMgr--">terminateTaskMgr</a></span>()</code> | |
<div class="block">Removes from the task manager, all pending tasks regardless of the | |
the instance of <code>ProxyReg</code> with which the task is | |
associated, and then terminates the task manager, and makes it | |
a candidate for garbage collection.</div> | |
</td> | |
</tr> | |
<tr id="i18" class="altColor"> | |
<td class="colFirst"><code>private void</code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/lookup/JoinManager.html#testForNullElement-java.lang.Object:A-">testForNullElement</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[] a)</code> | |
<div class="block">Examines the elements of the input set and, upon finding at least one | |
<code>null</code> element, throws a <code>NullPointerException</code>.</div> | |
</td> | |
</tr> | |
</table> | |
<ul class="blockList"> | |
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> | |
<!-- --> | |
</a> | |
<h3>Methods inherited from class java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> | |
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li> | |
</ul> | |
</li> | |
</ul> | |
</li> | |
</ul> | |
</div> | |
<div class="details"> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<!-- ============ FIELD DETAIL =========== --> | |
<ul class="blockList"> | |
<li class="blockList"><a name="field.detail"> | |
<!-- --> | |
</a> | |
<h3>Field Detail</h3> | |
<a name="COMPONENT_NAME"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>COMPONENT_NAME</h4> | |
<pre>private static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COMPONENT_NAME</pre> | |
<dl> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../constant-values.html#net.jini.lookup.JoinManager.COMPONENT_NAME">Constant Field Values</a></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="logger"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>logger</h4> | |
<pre>private static final <a href="http://docs.oracle.com/javase/6/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging">Logger</a> logger</pre> | |
</li> | |
</ul> | |
<a name="MAX_N_TASKS"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>MAX_N_TASKS</h4> | |
<pre>private static final int MAX_N_TASKS</pre> | |
<div class="block">Maximum number of concurrent tasks that can be run in any default | |
ExecutorService created by this class.</div> | |
<dl> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../constant-values.html#net.jini.lookup.JoinManager.MAX_N_TASKS">Constant Field Values</a></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="taskSeqN"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>taskSeqN</h4> | |
<pre>private int taskSeqN</pre> | |
<div class="block">Whenever a task is created in this join manager, it is assigned a | |
unique sequence number so that the task is not run prior to the | |
execution, and completion of, any other tasks with which that task | |
is associated (tasks are grouped by the <code>ProxyReg</code> with | |
which each task is associated). This field contains the value of | |
the sequence number assigned to the most recently created task.</div> | |
</li> | |
</ul> | |
<a name="executor"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>executor</h4> | |
<pre>private final <a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.ExecutorService.html?is-external=true" title="class or interface in java.util">java.util.concurrent.ExecutorService</a> executor</pre> | |
<div class="block">Task manager for the various tasks executed by this join manager. | |
On the first attempt to execute any task is managed by this | |
<code>ExecutorService</code> so that the number of concurrent threads | |
can be bounded. If one or more of those attempts fails, a | |
<code>WakeupManager</code> is used (through the use of a | |
<code>RetryTask</code>) to schedule - at a later time (employing a | |
"backoff strategy") - the re-execution of each failed task in this | |
<code>ExecutorService</code>.</div> | |
</li> | |
</ul> | |
<a name="proxyRegTaskQueue"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>proxyRegTaskQueue</h4> | |
<pre>private final <a href="../../../net/jini/lookup/JoinManager.ProxyRegTaskQueue.html" title="class in net.jini.lookup">JoinManager.ProxyRegTaskQueue</a> proxyRegTaskQueue</pre> | |
</li> | |
</ul> | |
<a name="maxNRetries"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>maxNRetries</h4> | |
<pre>private final int maxNRetries</pre> | |
<div class="block">Maximum number of times a failed task is allowed to be re-executed.</div> | |
</li> | |
</ul> | |
<a name="wakeupMgr"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>wakeupMgr</h4> | |
<pre>private final <a href="../../../org/apache/river/thread/WakeupManager.html" title="class in org.apache.river.thread">WakeupManager</a> wakeupMgr</pre> | |
<div class="block">Wakeup manager for the various tasks executed by this join manager. | |
After an initial failure of any task executed by this join manager, | |
the failed task is managed by this <code>WakeupManager</code>; which | |
schedules the re-execution of the failed task - in the task manager - | |
at various times in the future until either the task succeeds or the | |
task has been executed the maximum number of allowable times. This | |
wakeup manager is supplied to the <code>RetryTask</code>) that | |
performs the actual task execution so that when termination of this | |
join manager is requested, all tasks scheduled for retry by this | |
wakeup manager can be cancelled.</div> | |
</li> | |
</ul> | |
<a name="serviceItem"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>serviceItem</h4> | |
<pre>private volatile <a href="../../../net/jini/core/lookup/ServiceItem.html" title="class in net.jini.core.lookup">ServiceItem</a> serviceItem</pre> | |
<div class="block">Contains the reference to the service that is to be registered with | |
all of the desired lookup services referenced by <code>discMgr</code>.</div> | |
</li> | |
</ul> | |
<a name="lookupAttr"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>lookupAttr</h4> | |
<pre>private volatile <a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] lookupAttr</pre> | |
<div class="block">Contains the attributes with which to associate the service in each | |
of the lookup services with which this join manager registers the | |
service.</div> | |
</li> | |
</ul> | |
<a name="callback"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>callback</h4> | |
<pre>private final <a href="../../../net/jini/lookup/ServiceIDListener.html" title="interface in net.jini.lookup">ServiceIDListener</a> callback</pre> | |
<div class="block">Contains the listener -- instantiated by the entity that constructs | |
this join manager -- that will receive an event containing the | |
service ID assigned to this join manager's service by one of the | |
lookup services with which that service is registered.</div> | |
</li> | |
</ul> | |
<a name="joinSet"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>joinSet</h4> | |
<pre>private final <a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../net/jini/lookup/JoinManager.ProxyReg.html" title="class in net.jini.lookup">JoinManager.ProxyReg</a>> joinSet</pre> | |
<div class="block">Contains elements of type <code>ProxyReg</code> where each element | |
references a proxy to one of the lookup services with which this | |
join manager's service is registered.</div> | |
</li> | |
</ul> | |
<a name="discMgr"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>discMgr</h4> | |
<pre>private final <a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a> discMgr</pre> | |
<div class="block">Contains the discovery manager that discovers the lookup services | |
with which this join manager will register its associated service.</div> | |
</li> | |
</ul> | |
<a name="discMgrListener"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>discMgrListener</h4> | |
<pre>private final <a href="../../../net/jini/lookup/JoinManager.DiscMgrListener.html" title="class in net.jini.lookup">JoinManager.DiscMgrListener</a> discMgrListener</pre> | |
<div class="block">Contains the discovery listener registered by this join manager with | |
the discovery manager so that this join manager is notified whenever | |
one of the desired lookup services is discovered or discarded.</div> | |
</li> | |
</ul> | |
<a name="bCreateDiscMgr"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>bCreateDiscMgr</h4> | |
<pre>private final boolean bCreateDiscMgr</pre> | |
<div class="block">Flag that indicate whether the discovery manager employed by this | |
join manager was created by this join manager itself, or by the | |
entity that constructed this join manager.</div> | |
</li> | |
</ul> | |
<a name="leaseRenewalMgr"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>leaseRenewalMgr</h4> | |
<pre>private final <a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a> leaseRenewalMgr</pre> | |
<div class="block">Contains the lease renewal manager that renews all of the leases | |
this join manager's service holds with each lookup service with which | |
it has been registered.</div> | |
</li> | |
</ul> | |
<a name="renewalDuration"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>renewalDuration</h4> | |
<pre>private final long renewalDuration</pre> | |
<div class="block">The value to use as the <code>renewDuration</code> parameter | |
when invoking the lease renewal manager's <code>renewUntil</code> | |
method to add a service lease to manage. This value represents, | |
effectively, the time interval (in milliseconds) over which each | |
managed lease must be renewed. As this value is made smaller, | |
renewal requests will be made more frequently while the service | |
is up, and lease expirations will occur sooner when the service | |
goes down.</div> | |
</li> | |
</ul> | |
<a name="bTerminated"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>bTerminated</h4> | |
<pre>private volatile boolean bTerminated</pre> | |
<div class="block">Flag that indicates if this join manager has been terminated.</div> | |
</li> | |
</ul> | |
<a name="registrarPreparer"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>registrarPreparer</h4> | |
<pre>private final <a href="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security">ProxyPreparer</a> registrarPreparer</pre> | |
</li> | |
</ul> | |
<a name="registrationPreparer"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>registrationPreparer</h4> | |
<pre>private final <a href="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security">ProxyPreparer</a> registrationPreparer</pre> | |
</li> | |
</ul> | |
<a name="serviceLeasePreparer"> | |
<!-- --> | |
</a> | |
<ul class="blockListLast"> | |
<li class="blockList"> | |
<h4>serviceLeasePreparer</h4> | |
<pre>private final <a href="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security">ProxyPreparer</a> serviceLeasePreparer</pre> | |
</li> | |
</ul> | |
</li> | |
</ul> | |
<!-- ========= CONSTRUCTOR DETAIL ======== --> | |
<ul class="blockList"> | |
<li class="blockList"><a name="constructor.detail"> | |
<!-- --> | |
</a> | |
<h3>Constructor Detail</h3> | |
<a name="JoinManager-java.lang.Object-net.jini.core.entry.Entry:A-net.jini.lookup.ServiceIDListener-net.jini.discovery.DiscoveryManagement-net.jini.lease.LeaseRenewalManager-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>JoinManager</h4> | |
<pre>public JoinManager(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
<a href="../../../net/jini/lookup/ServiceIDListener.html" title="interface in net.jini.lookup">ServiceIDListener</a> callback, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a> discoveryMgr, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a> leaseMgr) | |
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> | |
<div class="block">Constructs an instance of this class that will register the given | |
service reference with all discovered lookup services and, through | |
an event sent to the given <code>ServiceIDListener</code> object, | |
communicate the service ID assigned by the first lookup service | |
with which the service is registered. This constructor is typically | |
used by services which have not yet been assigned a service ID. | |
<p> | |
The value input to the <code>serviceProxy</code> parameter represents | |
the service reference (proxy) to register with each discovered lookup | |
service. If the <code>Object</code> input to that parameter is not | |
<code>Serializable</code>, an <code>IllegalArgumentException</code> | |
is thrown. If <code>null</code> is input to that parameter, a | |
<code>NullPointerException</code> is thrown. | |
<p> | |
The value input to the <code>attrSets</code> parameter is an array | |
of <code>Entry</code> objects, none of whose elements may be | |
<code>null</code>, that represents the new set of attributes to | |
associate with the new service reference to be registered. Passing | |
<code>null</code> as the value of the <code>attrSets</code> parameter | |
is equivalent to passing an empty array. If any of the elements | |
of the <code>attrSets</code> array are <code>null</code>, a | |
<code>NullPointerException</code> is thrown. The set of attributes | |
passed in this parameter will be associated with the service in all | |
future join processing until those attributes are changed through | |
an invocation of a method on this class such as, | |
<code>addAttributes</code>, <code>setAttributes</code>, | |
<code>modifyAttributes</code>, or <code>replaceRegistration</code>. | |
<p> | |
When constructing this utility, the service supplies an object through | |
which notifications that indicate a lookup service has been discovered | |
or discarded will be received. At a minimum, the object supplied | |
(through the <code>discoveryMgr</code> parameter) must satisfy the | |
contract defined in the <code>DiscoveryManagement</code> interface. | |
That is, the object supplied must provide this utility with the ability | |
to set discovery listeners and to discard previously discovered | |
lookup services when they are found to be unavailable. A value of | |
<code>null</code> may be input to the <code>discoveryMgr</code> | |
parameter. When <code>null</code> is input to that parameter, an | |
instance of <code>LookupDiscoveryManager</code> is used to listen | |
for events announcing the discovery of only those lookup services | |
that are members of the public group. | |
<p> | |
The object input to the <code>leaseMgr</code> parameter provides for | |
the coordination, systematic renewal, and overall management of all | |
leases on the given service reference's residency in the lookup | |
services that have been joined. As with the <code>discoveryMgr</code> | |
parameter, a value of <code>null</code> may be input to this | |
parameter. When <code>null</code> is input to this parameter, | |
an instance of <code>LeaseRenewalManager</code>, initially managing | |
no <code>Lease</code> objects will be used. This feature allows a | |
service to either use a single entity to manage all of its leases, | |
or to use separate entities: one to manage the leases unrelated to | |
the join process, and one to manage the leases that result from the | |
join process, that are accessible only within the current instance | |
of the <code>JoinManager</code>.</div> | |
<dl> | |
<dt><span class="paramLabel">Parameters:</span></dt> | |
<dd><code>serviceProxy</code> - the service reference (proxy) to register with all | |
discovered lookup services</dd> | |
<dd><code>attrSets</code> - array of <code>Entry</code> consisting of the | |
attribute sets with which to register the service</dd> | |
<dd><code>callback</code> - reference to the object that should receive the | |
event containing the service ID, assigned to the | |
service by the first lookup service with which the | |
service reference is registered</dd> | |
<dd><code>discoveryMgr</code> - reference to the <code>DiscoveryManagement</code> | |
object this class should use to manage lookup | |
service discovery on behalf of the given service</dd> | |
<dd><code>leaseMgr</code> - reference to the <code>LeaseRenewalManager</code> | |
object this class should use to manage the leases | |
on the given service's residency in the lookup | |
services that have been joined</dd> | |
<dt><span class="throwsLabel">Throws:</span></dt> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the object input to the | |
<code>serviceProxy</code> parameter is not serializable</dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if either <code>null</code> is | |
input to the <code>serviceProxy</code> parameter, or at least | |
one of the elements of the <code>attrSets</code> parameter is | |
<code>null</code></dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if initiation of discovery process results | |
in <code>IOException</code> when socket allocation occurs</dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if this method is called on | |
a terminated <code>JoinManager</code> instance. Note that this | |
exception is implementation-specific.</dd> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../net/jini/lookup/ServiceIDListener.html" title="interface in net.jini.lookup"><code>ServiceIDListener</code></a>, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery"><code>DiscoveryManagement</code></a>, | |
<a href="../../../net/jini/discovery/LookupDiscoveryManager.html" title="class in net.jini.discovery"><code>LookupDiscoveryManager</code></a>, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease"><code>LeaseRenewalManager</code></a></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="JoinManager-java.lang.Object-net.jini.core.entry.Entry:A-net.jini.lookup.ServiceIDListener-net.jini.discovery.DiscoveryManagement-net.jini.lease.LeaseRenewalManager-net.jini.config.Configuration-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>JoinManager</h4> | |
<pre>public JoinManager(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
<a href="../../../net/jini/lookup/ServiceIDListener.html" title="interface in net.jini.lookup">ServiceIDListener</a> callback, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a> discoveryMgr, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a> leaseMgr, | |
<a href="../../../net/jini/config/Configuration.html" title="interface in net.jini.config">Configuration</a> config) | |
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>, | |
<a href="../../../net/jini/config/ConfigurationException.html" title="class in net.jini.config">ConfigurationException</a></pre> | |
<div class="block">Constructs an instance of this class, configured using the items | |
retrieved through the given <code>Configuration</code> object, | |
that will register the given service reference with all discovered | |
lookup services and, through an event sent to the given | |
<code>ServiceIDListener</code> object, communicate the service ID | |
assigned by the first lookup service with which the service is | |
registered. This constructor is typically used by services which | |
have not yet been assigned a service ID, and which wish to allow | |
for deployment-time configuration of the service's join processing. | |
<p> | |
The items used to configure the current instance of this class | |
are obtained through the object input to the <code>config</code> | |
parameter. If <code>null</code> is input to that parameter, a | |
<code>NullPointerException</code> is thrown. | |
<p> | |
The object this utility will use to manage lookup service discovery on | |
behalf of the given service can be supplied through either the | |
<code>discoveryMgr</code> parameter or through an entry contained | |
in the given <code>Configuration</code>. If <code>null</code> is input | |
to the <code>discoveryMgr</code> parameter, an attempt will first be | |
made to retrieve from the given <code>Configuration</code>, an entry | |
named "discoveryManager" (described above). If such an object is | |
successfully retrieved from the given <code>Configuration</code>, that | |
object will be used to perform the lookup service discovery management | |
required by this utility. | |
<p> | |
If <code>null</code> is input to the <code>discoveryMgr</code> | |
parameter, and no entry named "discoveryManager" is specified in the | |
given <code>Configuration</code>, then an instance of the utility class | |
<code>LookupDiscoveryManager</code> will be used to listen for events | |
announcing the discovery of only those lookup services that are | |
members of the public group. | |
<p> | |
As with the <code>discoveryMgr</code> parameter, the object this | |
utility will use to perform lease management on behalf of the given | |
service can be supplied through either the <code>leaseMgr</code> | |
parameter or through an entry contained in the given | |
<code>Configuration</code>. If <code>null</code> is input to the | |
<code>leaseMgr</code> parameter, an attempt will first be made to | |
retrieve from the given <code>Configuration</code>, an entry named | |
"leaseManager" (described above). If such an object is successfully | |
retrieved from the given <code>Configuration</code>, that object | |
will be used to perform the lease management required by this utility. | |
<p> | |
If <code>null</code> is input to the <code>leaseMgr</code> | |
parameter, and no entry named "leaseManager" is specified in the | |
given <code>Configuration</code>, then an instance of the utility | |
class <code>LeaseRenewalManager</code> that takes the given | |
<code>Configuration</code> will be created (initially managing no | |
leases) and used to perform all required lease renewal management | |
on behalf of the given service. | |
<p> | |
Except for the <code>config</code> parameter and the additional | |
semantics imposed by that parameter (as noted above), all other | |
parameters of this form of the constructor, along with their | |
associated semantics, are identical to that of the five-argument | |
constructor that takes a <code>ServiceIDListener</code>.</div> | |
<dl> | |
<dt><span class="paramLabel">Parameters:</span></dt> | |
<dd><code>serviceProxy</code> - the service reference (proxy) to register with all | |
discovered lookup services</dd> | |
<dd><code>attrSets</code> - array of <code>Entry</code> consisting of the | |
attribute sets with which to register the service</dd> | |
<dd><code>callback</code> - reference to the <code>ServiceIDListener</code> | |
object that should receive the event containing the | |
service ID assigned to the service by the first | |
lookup service with which the service reference | |
is registered</dd> | |
<dd><code>discoveryMgr</code> - reference to the <code>DiscoveryManagement</code> | |
object this class should use to manage lookup | |
service discovery on behalf of the given service</dd> | |
<dd><code>leaseMgr</code> - reference to the <code>LeaseRenewalManager</code> | |
object this class should use to manage the leases | |
on the given service's residency in the lookup | |
services that have been joined</dd> | |
<dd><code>config</code> - instance of <code>Configuration</code> through | |
which the items used to configure the current | |
instance of this class are obtained</dd> | |
<dt><span class="throwsLabel">Throws:</span></dt> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the object input to the | |
<code>serviceProxy</code> parameter is not serializable</dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if <code>null</code> is input | |
to the <code>serviceProxy</code> parameter or the | |
<code>config</code> parameter, or if at least one of the | |
elements of the <code>attrSets</code> parameter is | |
<code>null</code></dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if initiation of discovery process results | |
in <code>IOException</code> when socket allocation occurs</dd> | |
<dd><code><a href="../../../net/jini/config/ConfigurationException.html" title="class in net.jini.config">ConfigurationException</a></code> - if an exception | |
occurs while retrieving an item from the given | |
<code>Configuration</code> object</dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if this method is called on | |
a terminated <code>JoinManager</code> instance. Note that this | |
exception is implementation-specific.</dd> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../net/jini/lookup/ServiceIDListener.html" title="interface in net.jini.lookup"><code>ServiceIDListener</code></a>, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery"><code>DiscoveryManagement</code></a>, | |
<a href="../../../net/jini/discovery/LookupDiscoveryManager.html" title="class in net.jini.discovery"><code>LookupDiscoveryManager</code></a>, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease"><code>LeaseRenewalManager</code></a>, | |
<a href="../../../net/jini/config/Configuration.html" title="interface in net.jini.config"><code>Configuration</code></a>, | |
<a href="../../../net/jini/config/ConfigurationException.html" title="class in net.jini.config"><code>ConfigurationException</code></a></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="JoinManager-java.lang.Object-net.jini.core.entry.Entry:A-net.jini.core.lookup.ServiceID-net.jini.discovery.DiscoveryManagement-net.jini.lease.LeaseRenewalManager-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>JoinManager</h4> | |
<pre>public JoinManager(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a> serviceID, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a> discoveryMgr, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a> leaseMgr) | |
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> | |
<div class="block">Constructs an instance of this class that will register the | |
service with all discovered lookup services, using the supplied | |
<code>ServiceID</code>. This constructor is typically used by | |
services which have already been assigned a service ID (possibly | |
by the service provider itself or as a result of a prior registration | |
with some lookup service), and which do not wish to allow for | |
deployment-time configuration of the service's join processing. | |
<p> | |
Except that the desired <code>ServiceID</code> is supplied through the | |
<code>serviceID</code> parameter rather than through a notification | |
sent to a <code>ServiceIDListener</code>, all other parameters | |
of this form of the constructor, along with their associated semantics, | |
are identical to that of the five-argument constructor that takes | |
a <code>ServiceIDListener</code>.</div> | |
<dl> | |
<dt><span class="paramLabel">Parameters:</span></dt> | |
<dd><code>serviceProxy</code> - a reference to the service requesting the services | |
of this class</dd> | |
<dd><code>attrSets</code> - array of <code>Entry</code> consisting of the | |
attribute sets with which to register the service</dd> | |
<dd><code>serviceID</code> - an instance of <code>ServiceID</code> with which to | |
register the service with all desired lookup | |
services</dd> | |
<dd><code>discoveryMgr</code> - reference to the <code>DiscoveryManagement</code> | |
object this class should use to manage the given | |
service's lookup service discovery duties</dd> | |
<dd><code>leaseMgr</code> - reference to the <code>LeaseRenewalManager</code> | |
object this class should use to manage the leases | |
on the given service's residency in the lookup | |
services that have been joined</dd> | |
<dt><span class="throwsLabel">Throws:</span></dt> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the object input to the | |
<code>serviceProxy</code> parameter is not serializable</dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if either <code>null</code> is | |
input to the <code>serviceProxy</code> parameter, or at least | |
one of the elements of the <code>attrSets</code> parameter is | |
<code>null</code></dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if initiation of discovery process results | |
in <code>IOException</code> when socket allocation occurs</dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if this method is called on | |
a terminated <code>JoinManager</code> instance. Note that this | |
exception is implementation-specific.</dd> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup"><code>ServiceID</code></a>, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery"><code>DiscoveryManagement</code></a>, | |
<a href="../../../net/jini/discovery/LookupDiscoveryManager.html" title="class in net.jini.discovery"><code>LookupDiscoveryManager</code></a>, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease"><code>LeaseRenewalManager</code></a></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="JoinManager-java.lang.Object-net.jini.core.entry.Entry:A-net.jini.core.lookup.ServiceID-net.jini.discovery.DiscoveryManagement-net.jini.lease.LeaseRenewalManager-net.jini.config.Configuration-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>JoinManager</h4> | |
<pre>public JoinManager(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a> serviceID, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a> discoveryMgr, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a> leaseMgr, | |
<a href="../../../net/jini/config/Configuration.html" title="interface in net.jini.config">Configuration</a> config) | |
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>, | |
<a href="../../../net/jini/config/ConfigurationException.html" title="class in net.jini.config">ConfigurationException</a></pre> | |
<div class="block">Constructs an instance of this class, configured using the items | |
retrieved through the given <code>Configuration</code>, that will | |
register the service with all discovered lookup services, using the | |
supplied <code>ServiceID</code>. This constructor is typically used by | |
services which have already been assigned a service ID (possibly | |
by the service provider itself or as a result of a prior registration | |
with some lookup service), and which wish to allow for deployment-time | |
configuration of the service's join processing. | |
<p> | |
The items used to configure the current instance of this class | |
are obtained through the object input to the <code>config</code> | |
parameter. If <code>null</code> is input to that parameter, a | |
<code>NullPointerException</code> is thrown. | |
<p> | |
Except that the desired <code>ServiceID</code> is supplied through the | |
<code>serviceID</code> parameter rather than through a notification | |
sent to a <code>ServiceIDListener</code>, all other parameters | |
of this form of the constructor, along with their associated semantics, | |
are identical to that of the six-argument constructor that takes | |
a <code>ServiceIDListener</code>.</div> | |
<dl> | |
<dt><span class="paramLabel">Parameters:</span></dt> | |
<dd><code>serviceProxy</code> - a reference to the service requesting the services | |
of this class</dd> | |
<dd><code>attrSets</code> - array of <code>Entry</code> consisting of the | |
attribute sets with which to register the service.</dd> | |
<dd><code>serviceID</code> - an instance of <code>ServiceID</code> with which to | |
register the service with all desired lookup | |
services</dd> | |
<dd><code>discoveryMgr</code> - reference to the <code>DiscoveryManagement</code> | |
object this class should use to manage lookup | |
service discovery on behalf of the given service</dd> | |
<dd><code>leaseMgr</code> - reference to the <code>LeaseRenewalManager</code> | |
object this class should use to manage the leases | |
on the given service's residency in the lookup | |
services that have been joined</dd> | |
<dd><code>config</code> - instance of <code>Configuration</code> through | |
which the items used to configure the current | |
instance of this class are obtained</dd> | |
<dt><span class="throwsLabel">Throws:</span></dt> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the object input to the | |
<code>serviceProxy</code> parameter is not serializable</dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if <code>null</code> is input | |
to the <code>serviceProxy</code> parameter or the | |
<code>config</code> parameter, or if at least one of the | |
elements of the <code>attrSets</code> parameter is | |
<code>null</code></dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if initiation of discovery process results | |
in <code>IOException</code> when socket allocation occurs</dd> | |
<dd><code><a href="../../../net/jini/config/ConfigurationException.html" title="class in net.jini.config">ConfigurationException</a></code> - if an exception | |
occurs while retrieving an item from the given | |
<code>Configuration</code> object</dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if this method is called on | |
a terminated <code>JoinManager</code> instance. Note that this | |
exception is implementation-specific.</dd> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup"><code>ServiceID</code></a>, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery"><code>DiscoveryManagement</code></a>, | |
<a href="../../../net/jini/discovery/LookupDiscoveryManager.html" title="class in net.jini.discovery"><code>LookupDiscoveryManager</code></a>, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease"><code>LeaseRenewalManager</code></a>, | |
<a href="../../../net/jini/config/Configuration.html" title="interface in net.jini.config"><code>Configuration</code></a>, | |
<a href="../../../net/jini/config/ConfigurationException.html" title="class in net.jini.config"><code>ConfigurationException</code></a></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="JoinManager-java.lang.Object-net.jini.core.entry.Entry:A-net.jini.core.lookup.ServiceID-net.jini.lookup.ServiceIDListener-net.jini.lookup.JoinManager.Conf-"> | |
<!-- --> | |
</a> | |
<ul class="blockListLast"> | |
<li class="blockList"> | |
<h4>JoinManager</h4> | |
<pre>private JoinManager(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
<a href="../../../net/jini/core/lookup/ServiceID.html" title="class in net.jini.core.lookup">ServiceID</a> serviceID, | |
<a href="../../../net/jini/lookup/ServiceIDListener.html" title="interface in net.jini.lookup">ServiceIDListener</a> callback, | |
<a href="../../../net/jini/lookup/JoinManager.Conf.html" title="class in net.jini.lookup">JoinManager.Conf</a> conf)</pre> | |
<div class="block">Convenience method invoked by the constructors of this class that | |
uses the given <code>Configuration</code> to initialize the current | |
instance of this utility, and initiates all join processing for | |
the given parameters. This method handles the various configurations | |
allowed by the different constructors.</div> | |
</li> | |
</ul> | |
</li> | |
</ul> | |
<!-- ============ METHOD DETAIL ========== --> | |
<ul class="blockList"> | |
<li class="blockList"><a name="method.detail"> | |
<!-- --> | |
</a> | |
<h3>Method Detail</h3> | |
<a name="getDiscoveryManager--"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>getDiscoveryManager</h4> | |
<pre>public <a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a> getDiscoveryManager()</pre> | |
<div class="block">Returns the instance of <code>DiscoveryManagement</code> that was | |
either passed into the constructor, or that was created as a result | |
of <code>null</code> being input to that parameter. | |
<p> | |
The object returned by this method encapsulates the mechanism by which | |
either the <code>JoinManager</code> or the entity itself can set | |
discovery listeners and discard previously discovered lookup services | |
when they are found to be unavailable.</div> | |
<dl> | |
<dt><span class="returnLabel">Returns:</span></dt> | |
<dd>the instance of the <code>DiscoveryManagement</code> interface | |
that was either passed into the constructor, or that was | |
created as a result of <code>null</code> being input to that | |
parameter.</dd> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery"><code>DiscoveryManagement</code></a>, | |
<a href="../../../net/jini/discovery/LookupDiscoveryManager.html" title="class in net.jini.discovery"><code>LookupDiscoveryManager</code></a></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="getLeaseRenewalManager--"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>getLeaseRenewalManager</h4> | |
<pre>public <a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a> getLeaseRenewalManager()</pre> | |
<div class="block">Returns the instance of the <code>LeaseRenewalManager</code> class | |
that was either passed into the constructor, or that was created | |
as a result of <code>null</code> being input to that parameter. | |
<p> | |
The object returned by this method manages the leases requested and | |
held by the <code>JoinManager</code>. Although it may also manage | |
leases unrelated to the join process that are requested and held by | |
the service itself, the leases with which the <code>JoinManager</code> | |
is concerned are the leases that correspond to the service registration | |
requests made with each lookup service the service wishes to join.</div> | |
<dl> | |
<dt><span class="returnLabel">Returns:</span></dt> | |
<dd>the instance of the <code>LeaseRenewalManager</code> class | |
that was either passed into the constructor, or that was | |
created as a result of <code>null</code> being input to that | |
parameter.</dd> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery"><code>DiscoveryManagement</code></a>, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease"><code>LeaseRenewalManager</code></a></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="getJoinSet--"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>getJoinSet</h4> | |
<pre>public <a href="../../../net/jini/core/lookup/ServiceRegistrar.html" title="interface in net.jini.core.lookup">ServiceRegistrar</a>[] getJoinSet()</pre> | |
<div class="block">Returns an array of <code>ServiceRegistrar</code> objects, each | |
corresponding to a lookup service with which the service is currently | |
registered (joined). If there are no lookup services with which the | |
service is currently registered, this method returns the empty array. | |
This method returns a new array upon each invocation.</div> | |
<dl> | |
<dt><span class="returnLabel">Returns:</span></dt> | |
<dd>array of instances of <code>ServiceRegistrar</code>, each | |
corresponding to a lookup service with which the service is | |
currently registered</dd> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../net/jini/core/lookup/ServiceRegistrar.html" title="interface in net.jini.core.lookup"><code>ServiceRegistrar</code></a></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="getAttributes--"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>getAttributes</h4> | |
<pre>public <a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] getAttributes()</pre> | |
<div class="block">Returns an array containing the set of attributes currently associated | |
with the service. If the service is not currently associated with an | |
attribute set, this method returns the empty array. This method returns | |
a new array upon each invocation.</div> | |
<dl> | |
<dt><span class="returnLabel">Returns:</span></dt> | |
<dd>array of instances of <code>Entry</code> consisting of the | |
set of attributes with which the service is registered in | |
each lookup service that it has joined</dd> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry"><code>Entry</code></a>, | |
<a href="../../../net/jini/lookup/JoinManager.html#setAttributes-net.jini.core.entry.Entry:A-"><code>setAttributes(net.jini.core.entry.Entry[])</code></a></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="addAttributes-net.jini.core.entry.Entry:A-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>addAttributes</h4> | |
<pre>public void addAttributes(<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets)</pre> | |
<div class="block">Associates a new set of attributes with the service, in addition to | |
the service's current set of attributes. The association of this new | |
set of attributes with the service will be propagated to each lookup | |
service with which the service is registered. Note that this | |
propagation is performed asynchronously, thus there is no guarantee | |
that the propagation of the attributes to all lookup services with | |
which the service is registered will have completed upon return from | |
this method. | |
<p> | |
An invocation of this method with duplicate elements in the | |
<code>attrSets</code> parameter (where duplication means attribute | |
equality as defined by calling the <code>MarshalledObject.equals</code> | |
method on field values) is equivalent to performing the invocation | |
with the duplicates removed from that parameter. | |
<p> | |
Note that because there is no guarantee that attribute propagation | |
will have completed upon return from this method, services that | |
invoke this method must take care not to modify the contents of the | |
<code>attrSets</code> parameter. Doing so could cause the service's | |
attribute state to be corrupted or inconsistent on a subset of the | |
lookup services with which the service is registered as compared with | |
the state reflected on the remaining lookup services. It is for this | |
reason that the effects of modifying the contents of the | |
<code>attrSets</code> parameter, after this method is invoked, are | |
undefined.</div> | |
<dl> | |
<dt><span class="paramLabel">Parameters:</span></dt> | |
<dd><code>attrSets</code> - array of <code>Entry</code> consisting of the | |
attribute sets with which to augment the service's | |
current set of attributes</dd> | |
<dt><span class="throwsLabel">Throws:</span></dt> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if either <code>null</code> is | |
input to the <code>attrSets</code> parameter, or one or more | |
of the elements of the <code>attrSets</code> parameter is | |
<code>null</code></dd> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry"><code>Entry</code></a></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="addAttributes-net.jini.core.entry.Entry:A-boolean-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>addAttributes</h4> | |
<pre>public void addAttributes(<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
boolean checkSC)</pre> | |
<div class="block">Associates a new set of attributes with the service, in addition to | |
the service's current set of attributes. The association of this new | |
set of attributes with the service will be propagated to each lookup | |
service with which the service is registered. Note that this | |
propagation is performed asynchronously, thus there is no guarantee | |
that the propagation of the attributes to all lookup services with | |
which the service is registered will have completed upon return from | |
this method. | |
<p> | |
An invocation of this method with duplicate elements in the | |
<code>attrSets</code> parameter (where duplication means attribute | |
equality as defined by calling the <code>MarshalledObject.equals</code> | |
method on field values) is equivalent to performing the invocation | |
with the duplicates removed from that parameter. | |
<p> | |
Note that because there is no guarantee that attribute propagation | |
will have completed upon return from this method, services that | |
invoke this method must take care not to modify the contents of the | |
<code>attrSets</code> parameter. Doing so could cause the service's | |
attribute state to be corrupted or inconsistent on a subset of the | |
lookup services with which the service is registered as compared with | |
the state reflected on the remaining lookup services. It is for this | |
reason that the effects of modifying the contents of the | |
<code>attrSets</code> parameter, after this method is invoked, are | |
undefined. | |
<p> | |
A service typically employs this version of <code>addAttributes</code> | |
to prevent clients or other services from attempting to add what are | |
referred to as "service controlled attributes" to the service's set. | |
A service controlled attribute is an attribute that implements the | |
<code>ServiceControlled</code> marker interface. | |
<p> | |
Consider a printer service. With printers, there are often times error | |
conditions, that only the printer can detect (for example, a paper | |
jam or a toner low condition). To report conditions such as these to | |
interested parties, the printer typically adds an attribute to its | |
attribute set, resulting in an event being sent that notifies clients | |
that have registered interest in such events. When the condition is | |
corrected, the printer would then remove the attribute from its set | |
by invoking the <code>modifyAttributes</code> method in the appropriate | |
manner. | |
<p> | |
Attributes representing conditions that only the service can know about | |
or control are good candidates for being defined as service controlled | |
attributes. That is, the service provider (the developer of the printer | |
service for example) would define the attributes that represent | |
conditions such as those just described to implement the | |
<code>ServiceControlled</code> marker interface. Thus, when other | |
entities attempt to add new attributes, services that wish to employ | |
such service controlled attributes should ultimately invoke only this | |
version of <code>addAttributes</code> (with the <code>checkSC</code> | |
parameter set to <code>true</code>), resulting in a | |
<code>SecurityException</code> if any of the attributes being added | |
happen to be service controlled attributes. In this way, only the | |
printer itself would be able to set a "paper jammed" or "toner low" | |
attribute, not some arbitrary client.</div> | |
<dl> | |
<dt><span class="paramLabel">Parameters:</span></dt> | |
<dd><code>attrSets</code> - array of <code>Entry</code> consisting of the | |
attribute sets with which to augment the service's | |
current set of attributes</dd> | |
<dd><code>checkSC</code> - <code>boolean</code> flag indicating whether the | |
elements of the set of attributes to add should be | |
checked to determine if they are service controlled | |
attributes</dd> | |
<dt><span class="throwsLabel">Throws:</span></dt> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if either <code>null</code> is | |
input to the <code>attrSets</code> parameter, or one or more | |
of the elements of the <code>attrSets</code> parameter is | |
<code>null</code></dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</a></code> - if the <code>checkSC</code> | |
parameter is <code>true</code>, and at least one of the | |
attributes to be added is an instance of the | |
<code>ServiceControlled</code> marker interface</dd> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry"><code>Entry</code></a>, | |
<a href="../../../net/jini/lookup/entry/ServiceControlled.html" title="interface in net.jini.lookup.entry"><code>ServiceControlled</code></a></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="setAttributes-net.jini.core.entry.Entry:A-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>setAttributes</h4> | |
<pre>public void setAttributes(<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets)</pre> | |
<div class="block">Replaces the service's current set of attributes with a new set of | |
attributes. The association of this new set of attributes with the | |
service will be propagated to each lookup service with which the | |
service is registered. Note that this propagation is performed | |
asynchronously, thus there is no guarantee that the propagation of | |
the attributes to all lookup services with which the service is | |
registered will have completed upon return from this method. | |
<p> | |
An invocation of this method with duplicate elements in the | |
<code>attrSets</code> parameter (where duplication means attribute | |
equality as defined by calling the <code>MarshalledObject.equals</code> | |
method on field values) is equivalent to performing the invocation | |
with the duplicates removed from that parameter. | |
<p> | |
Note that because there is no guarantee that attribute propagation | |
will have completed upon return from this method, services that | |
invoke this method must take care not to modify the contents of the | |
<code>attrSets</code> parameter. Doing so could cause the service's | |
attribute state to be corrupted or inconsistent on a subset of the | |
lookup services with which the service is registered as compared with | |
the state reflected on the remaining lookup services. It is for this | |
reason that the effects of modifying the contents of the | |
<code>attrSets</code> parameter, after this method is invoked, are | |
undefined.</div> | |
<dl> | |
<dt><span class="paramLabel">Parameters:</span></dt> | |
<dd><code>attrSets</code> - array of <code>Entry</code> consisting of the | |
attribute sets with which to replace the service's | |
current set of attributes</dd> | |
<dt><span class="throwsLabel">Throws:</span></dt> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if either <code>null</code> is | |
input to the <code>attrSets</code> parameter, or one or more | |
of the elements of the <code>attrSets</code> parameter is | |
<code>null</code>.</dd> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry"><code>Entry</code></a>, | |
<a href="../../../net/jini/lookup/JoinManager.html#getAttributes--"><code>getAttributes()</code></a></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="modifyAttributes-net.jini.core.entry.Entry:A-net.jini.core.entry.Entry:A-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>modifyAttributes</h4> | |
<pre>public void modifyAttributes(<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSetTemplates, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets)</pre> | |
<div class="block">Changes the service's current set of attributes using the same | |
semantics as the <code>modifyAttributes</code> method of the | |
<code>ServiceRegistration</code> class. | |
<p> | |
The association of the new set of attributes with the service will | |
be propagated to each lookup service with which the service is | |
registered. Note that this propagation is performed asynchronously, | |
thus there is no guarantee that the propagation of the attributes to | |
all lookup services with which the service is registered will have | |
completed upon return from this method. | |
<p> | |
Note that if the length of the array containing the templates does | |
not equal the length of the array containing the modifications, an | |
<code>IllegalArgumentException</code> will be thrown and propagated | |
through this method. | |
<p> | |
Note also that because there is no guarantee that attribute propagation | |
will have completed upon return from this method, services that | |
invoke this method must take care not to modify the contents of the | |
<code>attrSets</code> parameter. Doing so could cause the service's | |
attribute state to be corrupted or inconsistent on a subset of the | |
lookup services with which the service is registered as compared with | |
the state reflected on the remaining lookup services. It is for this | |
reason that the effects of modifying the contents of the | |
<code>attrSets</code> parameter, after this method is invoked, are | |
undefined.</div> | |
<dl> | |
<dt><span class="paramLabel">Parameters:</span></dt> | |
<dd><code>attrSetTemplates</code> - array of <code>Entry</code> used to identify | |
which elements to modify from the service's | |
current set of attributes</dd> | |
<dd><code>attrSets</code> - array of <code>Entry</code> containing the | |
actual modifications to make in the matching | |
sets found using the | |
<code>attrSetTemplates</code> parameter</dd> | |
<dt><span class="throwsLabel">Throws:</span></dt> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the array containing the | |
templates does not equal the length of the array containing the | |
modifications</dd> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry"><code>Entry</code></a>, | |
<a href="../../../net/jini/core/lookup/ServiceRegistration.html#modifyAttributes-net.jini.core.entry.Entry:A-net.jini.core.entry.Entry:A-"><code>ServiceRegistration.modifyAttributes(net.jini.core.entry.Entry[], net.jini.core.entry.Entry[])</code></a></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="modifyAttributes-net.jini.core.entry.Entry:A-net.jini.core.entry.Entry:A-boolean-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>modifyAttributes</h4> | |
<pre>public void modifyAttributes(<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSetTemplates, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
boolean checkSC)</pre> | |
<div class="block">Changes the service's current set of attributes using the same | |
semantics as the <code>modifyAttributes</code> method of the | |
<code>ServiceRegistration</code> class. | |
<p> | |
The association of the new set of attributes with the service will | |
be propagated to each lookup service with which the service is | |
registered. Note that this propagation is performed asynchronously, | |
thus there is no guarantee that the propagation of the attributes to | |
all lookup services with which the service is registered will have | |
completed upon return from this method. | |
<p> | |
Note that if the length of the array containing the templates does | |
not equal the length of the array containing the modifications, an | |
<code>IllegalArgumentException</code> will be thrown and propagated | |
through this method. | |
<p> | |
Note also that because there is no guarantee that attribute propagation | |
will have completed upon return from this method, services that | |
invoke this method must take care not to modify the contents of the | |
<code>attrSets</code> parameter. Doing so could cause the service's | |
attribute state to be corrupted or inconsistent on a subset of the | |
lookup services with which the service is registered as compared with | |
the state reflected on the remaining lookup services. It is for this | |
reason that the effects of modifying the contents of the | |
<code>attrSets</code> parameter, after this method is invoked, are | |
undefined. | |
<p> | |
A service typically employs this version of | |
<code>modifyAttributes</code> to prevent clients or other services | |
from attempting to modify what are referred to as "service controlled | |
attributes" in the service's set. A service controlled attribute is an | |
attribute that implements the <code>ServiceControlled</code> marker | |
interface. | |
<p> | |
Attributes representing conditions that only the service can know about | |
or control are good candidates for being defined as service controlled | |
attributes. When other entities attempt to modify a service's | |
attributes, if the service wishes to employ such service controlled | |
attributes, the service should ultimately invoke only this version | |
of <code>modifyAttributes</code> (with the <code>checkSC</code> | |
parameter set to <code>true</code>), resulting in a | |
<code>SecurityException</code> if any of the attributes being modified | |
happen to be service controlled attributes.</div> | |
<dl> | |
<dt><span class="paramLabel">Parameters:</span></dt> | |
<dd><code>attrSetTemplates</code> - array of <code>Entry</code> used to identify | |
which elements to modify from the service's | |
current set of attributes</dd> | |
<dd><code>attrSets</code> - array of <code>Entry</code> containing the | |
actual modifications to make in the matching | |
sets found using the | |
<code>attrSetTemplates</code> parameter</dd> | |
<dd><code>checkSC</code> - <code>boolean</code> flag indicating whether the | |
elements of the set of attributes to modify | |
should be checked to determine if they are | |
service controlled attributes</dd> | |
<dt><span class="throwsLabel">Throws:</span></dt> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the array containing the | |
templates does not equal the length of the array containing | |
the modifications</dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</a></code> - if the <code>checkSC</code> | |
parameter is <code>true</code>, and at least one of the | |
attributes to be modified is an instance of the | |
<code>ServiceControlled</code> marker interface</dd> | |
<dt><span class="seeLabel">See Also:</span></dt> | |
<dd><a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry"><code>Entry</code></a>, | |
<a href="../../../net/jini/core/lookup/ServiceRegistration.html#modifyAttributes-net.jini.core.entry.Entry:A-net.jini.core.entry.Entry:A-"><code>ServiceRegistration.modifyAttributes(net.jini.core.entry.Entry[], net.jini.core.entry.Entry[])</code></a>, | |
<a href="../../../net/jini/lookup/entry/ServiceControlled.html" title="interface in net.jini.lookup.entry"><code>ServiceControlled</code></a></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="terminate--"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>terminate</h4> | |
<pre>public void terminate()</pre> | |
<div class="block">Performs cleanup duties related to the termination of the lookup | |
service discovery event mechanism, as well as the lease and | |
thread management performed by the <code>JoinManager</code>. This | |
method will cancel all of the service's managed leases that were | |
granted by the lookup services with which the service is registered, | |
and will terminate all threads that have been created. | |
<p> | |
Note that if the discovery manager employed by the instance of this | |
class that is being terminated was created by the instance itself, | |
this method will terminate all discovery processing being performed by | |
that manager object on behalf of the service; otherwise, the discovery | |
manager supplied by the service is still valid. | |
<p> | |
Whether an instance of the <code>LeaseRenewalManager</code> class was | |
supplied by the service or created by the <code>JoinManager</code> | |
itself, any reference to that object obtained by the service prior to | |
termination will still be valid after termination. | |
Note also this class makes certain concurrency guarantees with respect | |
to an invocation of the terminate method while other method invocations | |
are in progress. The termination process will not begin until | |
completion of all invocations of the methods defined in the public | |
interface of this class. Furthermore, once the termination process has | |
begun, no further remote method invocations will be made by this class, | |
and all other method invocations made on this class will not return | |
until the termination process has completed. | |
<p> | |
Upon completion of the termination process, the semantics of all | |
current and future method invocations on the instance of this class | |
that was just terminated are undefined; although the reference to the | |
<code>LeaseRenewalManager</code> object employed by that instance | |
of <code>JoinManager</code> is still valid.</div> | |
</li> | |
</ul> | |
<a name="replaceRegistration-java.lang.Object-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>replaceRegistration</h4> | |
<pre>public void replaceRegistration(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy)</pre> | |
<div class="block">Registers a new reference to the service with all current and future | |
discovered lookup services. The new service reference will replace | |
the reference that was previously registered as a result of either | |
constructing this utility, or a prior invocation of one of the forms | |
of this method. The new service reference will be registered using | |
the same <code>ServiceID</code> with which previous registrations | |
were made through this utility. | |
<p> | |
The value input to the <code>serviceProxy</code> parameter represents | |
the new service reference (proxy) to register with each discovered | |
lookup service. If the <code>Object</code> input to that parameter is | |
not <code>Serializable</code>, an <code>IllegalArgumentException</code> | |
is thrown. If <code>null</code> is input to that parameter, a | |
<code>NullPointerException</code> is thrown. | |
<p> | |
The attribute sets that this method associates with the new service | |
reference are the same attribute sets as those associated with the | |
old registration.</div> | |
<dl> | |
<dt><span class="paramLabel">Parameters:</span></dt> | |
<dd><code>serviceProxy</code> - the new service reference (proxy) to register with | |
all current and future discovered lookup services</dd> | |
<dt><span class="throwsLabel">Throws:</span></dt> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the object input to the | |
<code>serviceProxy</code> parameter is not serializable</dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if <code>null</code> is input | |
to the <code>serviceProxy</code> parameter</dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if this method is called on | |
a terminated <code>JoinManager</code> instance. Note that this | |
exception is implementation-specific.</dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="replaceRegistration-java.lang.Object-net.jini.core.entry.Entry:A-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>replaceRegistration</h4> | |
<pre>public void replaceRegistration(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets)</pre> | |
<div class="block">Registers a new reference to the service with all current and future | |
discovered lookup services, applying semantics identical to the | |
one-argument form of this method, except with respect to the | |
registration of the given attribute sets. | |
<p> | |
This form of <code>replaceRegistration</code> takes as its | |
second parameter, an array of <code>Entry</code> objects | |
(<code>attrSets</code>), none of whose elements may be | |
<code>null</code>, that represents the new set of attributes to | |
associate with the new service reference to be registered. As with | |
the constructor to this utility, passing <code>null</code> as the | |
value of the <code>attrSets</code> parameter is equivalent to passing | |
an empty array. If any of the elements of <code>attrSets</code> are | |
<code>null</code>, a <code>NullPointerException</code> is thrown. | |
This new set of attributes will be associated with the service in | |
all future join processing.</div> | |
<dl> | |
<dt><span class="paramLabel">Parameters:</span></dt> | |
<dd><code>serviceProxy</code> - the new service reference (proxy) to register with | |
all current and future discovered lookup services</dd> | |
<dd><code>attrSets</code> - array of <code>Entry</code> consisting of the | |
attribute sets with which to register the new | |
service reference. Passing <code>null</code> as | |
the value of this parameter is equivalent to | |
passing an empty <code>Entry</code> array</dd> | |
<dt><span class="throwsLabel">Throws:</span></dt> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the object input to the | |
<code>serviceProxy</code> parameter is not serializable</dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if either <code>null</code> is | |
input to the <code>serviceProxy</code> parameter, or at least | |
one of the elements of the <code>attrSets</code> parameter is | |
<code>null</code></dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if this method is called on | |
a terminated <code>JoinManager</code> instance. Note that this | |
exception is implementation-specific.</dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="getConf-net.jini.config.Configuration-net.jini.lease.LeaseRenewalManager-net.jini.discovery.DiscoveryManagement-java.lang.Object-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>getConf</h4> | |
<pre>private static <a href="../../../net/jini/lookup/JoinManager.Conf.html" title="class in net.jini.lookup">JoinManager.Conf</a> getConf(<a href="../../../net/jini/config/Configuration.html" title="interface in net.jini.config">Configuration</a> config, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a> leaseMgr, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a> discoveryMgr, | |
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy) | |
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>, | |
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a>, | |
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre> | |
<div class="block">This method is for constructors that use an empty configuration.</div> | |
<dl> | |
<dt><span class="paramLabel">Parameters:</span></dt> | |
<dd><code>config</code> - </dd> | |
<dd><code>leaseMgr</code> - </dd> | |
<dd><code>discoveryMgr</code> - </dd> | |
<dd><code>serviceProxy</code> - </dd> | |
<dt><span class="returnLabel">Returns:</span></dt> | |
<dd>Conf</dd> | |
<dt><span class="throwsLabel">Throws:</span></dt> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code></dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="getConfig-net.jini.config.Configuration-net.jini.lease.LeaseRenewalManager-net.jini.discovery.DiscoveryManagement-java.lang.Object-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>getConfig</h4> | |
<pre>private static <a href="../../../net/jini/lookup/JoinManager.Conf.html" title="class in net.jini.lookup">JoinManager.Conf</a> getConfig(<a href="../../../net/jini/config/Configuration.html" title="interface in net.jini.config">Configuration</a> config, | |
<a href="../../../net/jini/lease/LeaseRenewalManager.html" title="class in net.jini.lease">LeaseRenewalManager</a> leaseMgr, | |
<a href="../../../net/jini/discovery/DiscoveryManagement.html" title="interface in net.jini.discovery">DiscoveryManagement</a> discoveryMgr, | |
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy) | |
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>, | |
<a href="../../../net/jini/config/ConfigurationException.html" title="class in net.jini.config">ConfigurationException</a>, | |
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a>, | |
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre> | |
<div class="block">Gets the configuration and throws any exceptions. | |
This static method guards against finalizer attacks and allows fields | |
to be final.</div> | |
<dl> | |
<dt><span class="paramLabel">Parameters:</span></dt> | |
<dd><code>config</code> - </dd> | |
<dd><code>leaseMgr</code> - </dd> | |
<dd><code>discoveryMgr</code> - </dd> | |
<dd><code>serviceProxy</code> - </dd> | |
<dt><span class="returnLabel">Returns:</span></dt> | |
<dd>Conf</dd> | |
<dt><span class="throwsLabel">Throws:</span></dt> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> | |
<dd><code><a href="../../../net/jini/config/ConfigurationException.html" title="class in net.jini.config">ConfigurationException</a></code></dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code></dd> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="findReg-net.jini.core.lookup.ServiceRegistrar-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>findReg</h4> | |
<pre>private <a href="../../../net/jini/lookup/JoinManager.ProxyReg.html" title="class in net.jini.lookup">JoinManager.ProxyReg</a> findReg(<a href="../../../net/jini/core/lookup/ServiceRegistrar.html" title="interface in net.jini.core.lookup">ServiceRegistrar</a> proxy)</pre> | |
<div class="block">For the given lookup service proxy, searches the <code>joinSet</code> | |
for the corresponding <code>ProxyReg</code> element, and upon finding | |
such an element, returns that element; otherwise returns | |
<code>null</code>.</div> | |
</li> | |
</ul> | |
<a name="removeTasks-net.jini.lookup.JoinManager.ProxyReg-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>removeTasks</h4> | |
<pre>private void removeTasks(<a href="../../../net/jini/lookup/JoinManager.ProxyReg.html" title="class in net.jini.lookup">JoinManager.ProxyReg</a> proxyReg)</pre> | |
<div class="block">Removes (from the task manager) and cancels (in the wakeup manager) | |
all tasks associated with the given instance of <code>ProxyReg</code>.</div> | |
</li> | |
</ul> | |
<a name="terminateTaskMgr--"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>terminateTaskMgr</h4> | |
<pre>private void terminateTaskMgr()</pre> | |
<div class="block">Removes from the task manager, all pending tasks regardless of the | |
the instance of <code>ProxyReg</code> with which the task is | |
associated, and then terminates the task manager, and makes it | |
a candidate for garbage collection.</div> | |
</li> | |
</ul> | |
<a name="testForNullElement-java.lang.Object:A-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>testForNullElement</h4> | |
<pre>private void testForNullElement(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[] a)</pre> | |
<div class="block">Examines the elements of the input set and, upon finding at least one | |
<code>null</code> element, throws a <code>NullPointerException</code>.</div> | |
</li> | |
</ul> | |
<a name="replaceRegistrationDo-java.lang.Object-net.jini.core.entry.Entry:A-boolean-"> | |
<!-- --> | |
</a> | |
<ul class="blockListLast"> | |
<li class="blockList"> | |
<h4>replaceRegistrationDo</h4> | |
<pre>private void replaceRegistrationDo(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> serviceProxy, | |
<a href="../../../net/jini/core/entry/Entry.html" title="interface in net.jini.core.entry">Entry</a>[] attrSets, | |
boolean doAttrs)</pre> | |
<div class="block">Convenience method invoked by either form of the method | |
<code>replaceRegistration</code>. This method registers the | |
given <code>serviceProxy</code> with all discovered lookup | |
services, replacing all current registrations. If the value | |
of the <code>doAttrs</code> parameter is <code>true</code>, | |
this method will associate the given <code>attrSets</code> | |
with the new service registration; otherwise, it will use | |
the attribute sets currently associated with the old registration.</div> | |
</li> | |
</ul> | |
</li> | |
</ul> | |
</li> | |
</ul> | |
</div> | |
</div> | |
<!-- ========= END OF CLASS DATA ========= --> | |
<!-- ======= START OF BOTTOM NAVBAR ====== --> | |
<div class="bottomNav"><a name="navbar.bottom"> | |
<!-- --> | |
</a> | |
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> | |
<a name="navbar.bottom.firstrow"> | |
<!-- --> | |
</a> | |
<ul class="navList" title="Navigation"> | |
<li><a href="../../../overview-summary.html">Overview</a></li> | |
<li><a href="package-summary.html">Package</a></li> | |
<li class="navBarCell1Rev">Class</li> | |
<li><a href="class-use/JoinManager.html">Use</a></li> | |
<li><a href="package-tree.html">Tree</a></li> | |
<li><a href="../../../deprecated-list.html">Deprecated</a></li> | |
<li><a href="../../../index-all.html">Index</a></li> | |
<li><a href="../../../help-doc.html">Help</a></li> | |
</ul> | |
</div> | |
<div class="subNav"> | |
<ul class="navList"> | |
<li><a href="../../../net/jini/lookup/DiscoveryAdmin.html" title="interface in net.jini.lookup"><span class="typeNameLink">Prev Class</span></a></li> | |
<li><a href="../../../net/jini/lookup/JoinManager.AddAttributesTask.html" title="class in net.jini.lookup"><span class="typeNameLink">Next Class</span></a></li> | |
</ul> | |
<ul class="navList"> | |
<li><a href="../../../index.html?net/jini/lookup/JoinManager.html" target="_top">Frames</a></li> | |
<li><a href="JoinManager.html" target="_top">No Frames</a></li> | |
</ul> | |
<ul class="navList" id="allclasses_navbar_bottom"> | |
<li><a href="../../../allclasses-noframe.html">All Classes</a></li> | |
</ul> | |
<div> | |
<script type="text/javascript"><!-- | |
allClassesLink = document.getElementById("allclasses_navbar_bottom"); | |
if(window==top) { | |
allClassesLink.style.display = "block"; | |
} | |
else { | |
allClassesLink.style.display = "none"; | |
} | |
//--> | |
</script> | |
</div> | |
<div> | |
<ul class="subNavList"> | |
<li>Summary: </li> | |
<li><a href="#nested.class.summary">Nested</a> | </li> | |
<li><a href="#field.summary">Field</a> | </li> | |
<li><a href="#constructor.summary">Constr</a> | </li> | |
<li><a href="#method.summary">Method</a></li> | |
</ul> | |
<ul class="subNavList"> | |
<li>Detail: </li> | |
<li><a href="#field.detail">Field</a> | </li> | |
<li><a href="#constructor.detail">Constr</a> | </li> | |
<li><a href="#method.detail">Method</a></li> | |
</ul> | |
</div> | |
<a name="skip.navbar.bottom"> | |
<!-- --> | |
</a></div> | |
<!-- ======== END OF BOTTOM NAVBAR ======= --> | |
<p class="legalCopy"><small>Copyright 2007-2013, multiple authors.<br>Licensed under the <a href=http://www.apache.org/licenses/LICENSE-2.0 target=child >Apache License, Version 2.0</a>, see the <a href=../../../doc-files/NOTICE target=child >NOTICE</a> file for attributions.</small></p> | |
</body> | |
</html> |