386 lines
23 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
compact3
</div>
<div class="subTitle">
javax.naming.event
</div>
<h2 class="title" title="Interface EventContext">Interface EventContext</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Superinterfaces:
</dt>
<dd>
<span><a href="../../../javax/naming/Context.html" title="javax.naming中的接口">Context</a></span>
</dd>
</dl>
<dl>
<dt>
All Known Subinterfaces:
</dt>
<dd>
<span><a href="../../../javax/naming/event/EventDirContext.html" title="javax.naming.event中的接口">EventDirContext</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public interface <span class="typeNameLabel">EventContext</span>
extends <a href="../../../javax/naming/Context.html" title="interface in javax.naming">Context</a></pre>
<div class="block">
<span>包含用于注册/注销侦听器的方法,以通知在上下文中命名的对象发生变化时触发的事件。</span>
<h1> <span>目标</span> </h1>
<span><tt>addNamingListener()</tt>方法中的name参数被称为<em>目标</em></span>
<span>目标与范围一起确定侦听器感兴趣的对象。可以注册对不存在的目标的兴趣,但是在可以支持的程度上可能会受到限制服务提供商和底层协议/服务。</span>
<p> <span>如果服务仅支持登记现有的目标,企图用于在<tt>NameNotFoundException</tt>一个不存在的目标结果寄存器被尽早抛出,优选地在时间<tt>addNamingListener()</tt>被调用,或者如果这是不可能的,收听者将接收异常通过<tt>NamingExceptionEvent</tt></span> </p>
<p> <span>另外,对于仅支持现有目标注册的服务提供商,当侦听器注册的目标随后从命名空间中删除时,通过<tt>8849219772068</tt> (包含<tt>NameNotFoundException</tt> )通知侦听器。</span> </p>
<p> <span>应用程序可以使用方法<tt>targetMustExist()</tt>检查<tt>EventContext</tt>是否支持注册不存在的目标。</span> </p>
<h1> <span>事件来源</span> </h1>
<span>您调用注册方法的<tt>EventContext</tt>实例是(潜在)生成的事件的<em>事件源</em></span>
<span><em>不一定</em>是目标命名的对象。</span>
<span>只有当目标是空的名称是目标命名的对象的源。</span>
<span>换句话说,目标与范围参数一起用于标识侦听器感兴趣的对象,但事件源是侦听器注册的<tt>EventContext</tt>实例。</span>
<p> <span>例如,假设一个监听器进行以下注册:</span> </p>
<blockquote>
<span><pre>
NamespaceChangeListener listener = ...;
src.addNamingListener("x", SUBTREE_SCOPE, listener);
</pre></span>
</blockquote>
<span>当名为“x / y”的对象随后被删除时对应的<tt>NamingEvent</tt> <tt>evt</tt> )必须包含:</span>
<blockquote>
<span><pre>
evt.getEventContext() == src
evt.getOldBinding().getName().equals("x/y")
</pre></span>
</blockquote>
<p> <span>此外,监听器注册/注销是与<tt>EventContext</tt> <em>实例</em> ,而不是与命名空间中的相应对象。</span> <span>如果程序打算在某个时候删除一个监听器,那么它需要保留对它调用的<tt>EventContext</tt>实例的引用<tt>addNamingListener()</tt> (就像需要保留对监听器的引用以便稍后删除)一样。</span> <span>它不能期望做一个<tt>lookup()</tt> ,并获得另一个<tt>EventContext的</tt>实例来执行注销。</span> </p>
<h1> <span>注册终身</span> </h1>
<span>注册听众在以下情况下注销:</span>
<ul>
<li> <span>它使用<tt>removeNamingListener()</tt>删除。</span> </li>
<li> <span>收集有关事件的信息时抛出异常。</span> <span>也就是说,当听众收到一个<tt>NamingExceptionEvent</tt></span> </li>
<li> <span><tt>Context.close()</tt>在它已注册的<tt>EventContext</tt>实例上被调用。</span> </li>
</ul>
<span>在此之前,具有优秀侦听器的<tt>8849219869177</tt>实例将继续存在并由服务提供商维护。</span>
<h1> <span>听众实现</span> </h1>
<span>的注册/注销方法接受的<tt>NamingListener</tt>一个实例。</span>
<span>NamingListener的<tt>子接口</tt>有不同的事件类型, <tt>分别</tt><tt>NamingEvent</tt></span>
<span>例如, <tt>ObjectChangeListener</tt>接口是用于<tt>NamingEvent.OBJECT_CHANGED</tt>事件类型。</span>
<span>要注册对多种事件类型的兴趣,监听器实现应该实现多个<tt>NamingListener</tt>子接口,并使用单个调用<tt>addNamingListener()</tt></span>
<span>除了减少方法调用的次数和可能的监听器的代码大小之外,这允许一些服务提供商优化注册。</span>
<h1> <span>线程问题</span> </h1>
<span><tt>Context</tt>实例一样EventContext的<tt>实例</tt>不能保证是线程安全的。</span>
<span>当多个线程同时访问同一个<tt>EventContext</tt>时,必须小心。</span>
<span><a href="package-summary.html#THREADING">package description</a>关于线程问题的更多信息。</span>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.3
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- --> </a> <h3>Field Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
<caption>
<span>Fields</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<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>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/event/EventContext.html#OBJECT_SCOPE">OBJECT_SCOPE</a></span></code>
<div class="block">
用于表示对由目标命名的对象的事件感兴趣的常数。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/event/EventContext.html#ONELEVEL_SCOPE">ONELEVEL_SCOPE</a></span></code>
<div class="block">
用于表达对目标命名的上下文中关于对象的事件的兴趣的常数,不包括目标命名的上下文。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/event/EventContext.html#SUBTREE_SCOPE">SUBTREE_SCOPE</a></span></code>
<div class="block">
用于表示对由目标命名的对象的子树中的对象的事件感兴趣的常数,包括由目标命名的对象。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.naming.Context">
<!-- --> </a> <h3>Fields inherited from interface javax.naming.<a href="../../../javax/naming/Context.html" title="interface in javax.naming">Context</a></h3> <code><a href="../../../javax/naming/Context.html#APPLET">APPLET</a>, <a href="../../../javax/naming/Context.html#AUTHORITATIVE">AUTHORITATIVE</a>, <a href="../../../javax/naming/Context.html#BATCHSIZE">BATCHSIZE</a>, <a href="../../../javax/naming/Context.html#DNS_URL">DNS_URL</a>, <a href="../../../javax/naming/Context.html#INITIAL_CONTEXT_FACTORY">INITIAL_CONTEXT_FACTORY</a>, <a href="../../../javax/naming/Context.html#LANGUAGE">LANGUAGE</a>, <a href="../../../javax/naming/Context.html#OBJECT_FACTORIES">OBJECT_FACTORIES</a>, <a href="../../../javax/naming/Context.html#PROVIDER_URL">PROVIDER_URL</a>, <a href="../../../javax/naming/Context.html#REFERRAL">REFERRAL</a>, <a href="../../../javax/naming/Context.html#SECURITY_AUTHENTICATION">SECURITY_AUTHENTICATION</a>, <a href="../../../javax/naming/Context.html#SECURITY_CREDENTIALS">SECURITY_CREDENTIALS</a>, <a href="../../../javax/naming/Context.html#SECURITY_PRINCIPAL">SECURITY_PRINCIPAL</a>, <a href="../../../javax/naming/Context.html#SECURITY_PROTOCOL">SECURITY_PROTOCOL</a>, <a href="../../../javax/naming/Context.html#STATE_FACTORIES">STATE_FACTORIES</a>, <a href="../../../javax/naming/Context.html#URL_PKG_PREFIXES">URL_PKG_PREFIXES</a></code></li>
</ul> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/event/EventContext.html#addNamingListener-javax.naming.Name-int-javax.naming.event.NamingListener-">addNamingListener</a></span>(<a href="../../../javax/naming/Name.html" title="interface in javax.naming">Name</a> target, int scope, <a href="../../../javax/naming/event/NamingListener.html" title="interface in javax.naming.event">NamingListener</a> l)</code>
<div class="block">
添加一个侦听器,用于接收由目标和范围标识的对象更改时触发的命名事件。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/event/EventContext.html#addNamingListener-java.lang.String-int-javax.naming.event.NamingListener-">addNamingListener</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> target, int scope, <a href="../../../javax/naming/event/NamingListener.html" title="interface in javax.naming.event">NamingListener</a> l)</code>
<div class="block">
添加一个侦听器,用于接收由字符串目标名称和范围指定的对象更改时触发的命名事件。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/event/EventContext.html#removeNamingListener-javax.naming.event.NamingListener-">removeNamingListener</a></span>(<a href="../../../javax/naming/event/NamingListener.html" title="interface in javax.naming.event">NamingListener</a> l)</code>
<div class="block">
自收到本
<tt>EventContext</tt>解雇命名事件中移除一个侦听器。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/event/EventContext.html#targetMustExist--">targetMustExist</a></span>()</code>
<div class="block">
确定侦听器是否可以注册不存在的目标的兴趣。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.naming.Context">
<!-- --> </a> <h3>Methods inherited from interface javax.naming.<a href="../../../javax/naming/Context.html" title="interface in javax.naming">Context</a></h3> <code><a href="../../../javax/naming/Context.html#addToEnvironment-java.lang.String-java.lang.Object-">addToEnvironment</a>, <a href="../../../javax/naming/Context.html#bind-javax.naming.Name-java.lang.Object-">bind</a>, <a href="../../../javax/naming/Context.html#bind-java.lang.String-java.lang.Object-">bind</a>, <a href="../../../javax/naming/Context.html#close--">close</a>, <a href="../../../javax/naming/Context.html#composeName-javax.naming.Name-javax.naming.Name-">composeName</a>, <a href="../../../javax/naming/Context.html#composeName-java.lang.String-java.lang.String-">composeName</a>, <a href="../../../javax/naming/Context.html#createSubcontext-javax.naming.Name-">createSubcontext</a>, <a href="../../../javax/naming/Context.html#createSubcontext-java.lang.String-">createSubcontext</a>, <a href="../../../javax/naming/Context.html#destroySubcontext-javax.naming.Name-">destroySubcontext</a>, <a href="../../../javax/naming/Context.html#destroySubcontext-java.lang.String-">destroySubcontext</a>, <a href="../../../javax/naming/Context.html#getEnvironment--">getEnvironment</a>, <a href="../../../javax/naming/Context.html#getNameInNamespace--">getNameInNamespace</a>, <a href="../../../javax/naming/Context.html#getNameParser-javax.naming.Name-">getNameParser</a>, <a href="../../../javax/naming/Context.html#getNameParser-java.lang.String-">getNameParser</a>, <a href="../../../javax/naming/Context.html#list-javax.naming.Name-">list</a>, <a href="../../../javax/naming/Context.html#list-java.lang.String-">list</a>, <a href="../../../javax/naming/Context.html#listBindings-javax.naming.Name-">listBindings</a>, <a href="../../../javax/naming/Context.html#listBindings-java.lang.String-">listBindings</a>, <a href="../../../javax/naming/Context.html#lookup-javax.naming.Name-">lookup</a>, <a href="../../../javax/naming/Context.html#lookup-java.lang.String-">lookup</a>, <a href="../../../javax/naming/Context.html#lookupLink-javax.naming.Name-">lookupLink</a>, <a href="../../../javax/naming/Context.html#lookupLink-java.lang.String-">lookupLink</a>, <a href="../../../javax/naming/Context.html#rebind-javax.naming.Name-java.lang.Object-">rebind</a>, <a href="../../../javax/naming/Context.html#rebind-java.lang.String-java.lang.Object-">rebind</a>, <a href="../../../javax/naming/Context.html#removeFromEnvironment-java.lang.String-">removeFromEnvironment</a>, <a href="../../../javax/naming/Context.html#rename-javax.naming.Name-javax.naming.Name-">rename</a>, <a href="../../../javax/naming/Context.html#rename-java.lang.String-java.lang.String-">rename</a>, <a href="../../../javax/naming/Context.html#unbind-javax.naming.Name-">unbind</a>, <a href="../../../javax/naming/Context.html#unbind-java.lang.String-">unbind</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>字段详细信息</h3> <a name="OBJECT_SCOPE">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>OBJECT_SCOPE</h4> <pre>static final int OBJECT_SCOPE</pre>
<div class="block">
<span>用于表示对由目标命名的对象的事件感兴趣的常数。</span>
<p> <span>该常数的值为<tt>0</tt></span> </p>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.naming.event.EventContext.OBJECT_SCOPE">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="ONELEVEL_SCOPE">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>ONELEVEL_SCOPE</h4> <pre>static final int ONELEVEL_SCOPE</pre>
<div class="block">
<span>用于表达对目标命名的上下文中关于对象的事件的兴趣的常数,不包括目标命名的上下文。</span>
<p> <span>该常数的值为<tt>1</tt></span> </p>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.naming.event.EventContext.ONELEVEL_SCOPE">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="SUBTREE_SCOPE">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>SUBTREE_SCOPE</h4> <pre>static final int SUBTREE_SCOPE</pre>
<div class="block">
<span>用于表示对由目标命名的对象的子树中的对象的事件感兴趣的常数,包括由目标命名的对象。</span>
<p> <span>该常数的值为<tt>2</tt></span> </p>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.naming.event.EventContext.SUBTREE_SCOPE">Constant Field Values</a>
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="addNamingListener-javax.naming.Name-int-javax.naming.event.NamingListener-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>addNamingListener</h4> <pre>void addNamingListener(<a href="../../../javax/naming/Name.html" title="interface in javax.naming">Name</a> target,
int scope,
<a href="../../../javax/naming/event/NamingListener.html" title="interface in javax.naming.event">NamingListener</a> l)
throws <a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></pre>
<div class="block">
<span>添加一个侦听器,用于接收由目标和范围标识的对象更改时触发的命名事件。</span>
<span>这些事件的事件来源是这个上下文。</span>
<span>有关事件源和目标的讨论,请参阅类描述。</span>
<span>见常<tt><tt>OBJECT_SCOPEONELEVEL_SCOPE</tt></tt><tt>SUBTREE_SCOPE</tt>的描述,看看如何<tt>scope</tt>影响登记。</span>
<p> <span><tt>target</tt>仅当<tt>scope</tt><tt>ONELEVEL_SCOPE</tt> <tt>时才</tt>需要命名上下文。</span> <span><tt>target</tt>可以命名为非上下文,如果<tt>scope</tt><tt>OBJECT_SCOPE</tt><tt>SUBTREE_SCOPE</tt></span> <span>对于非上下文使用<tt>SUBTREE_SCOPE</tt>可能是有用的,例如,如果呼叫者不能预先知道<tt>target</tt>是否是上下文并且仅希望注册根据target的可能是退化的子树<tt>兴趣</tt></span> </p>
<p> <span>当侦听器被通知事件时,侦听器可以被执行在<tt></tt>执行<tt>addNamingListener()</tt>的线程之外的线程中被调用。</span> <span>当多个线程同时访问同一个<tt>EventContext</tt>时,必须小心。</span> <span><a href="package-summary.html#THREADING">package description</a>关于线程问题的更多信息。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>target</code> - 相对于此上下文解析的非空名称。
</dd>
<dd>
<code>scope</code> -一个
<tt><tt>OBJECT_SCOPEONELEVEL_SCOPE</tt></tt>
<tt>SUBTREE_SCOPE。</tt>
</dd>
<dd>
<code>l</code> - 非正常听众。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></code> - 如果在添加侦听器时遇到问题。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/naming/event/EventContext.html#removeNamingListener-javax.naming.event.NamingListener-"><code>removeNamingListener(javax.naming.event.NamingListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="addNamingListener-java.lang.String-int-javax.naming.event.NamingListener-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>addNamingListener</h4> <pre>void addNamingListener(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> target,
int scope,
<a href="../../../javax/naming/event/NamingListener.html" title="interface in javax.naming.event">NamingListener</a> l)
throws <a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></pre>
<div class="block">
<span>添加一个侦听器,用于接收由字符串目标名称和范围指定的对象更改时触发的命名事件。</span>
<span>有关详细信息,请参阅接受<tt>Name</tt>的重载。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>target</code> - 相对于此上下文解析的对象的非空字符串名称。
</dd>
<dd>
<code>scope</code> -一个
<tt><tt>OBJECT_SCOPEONELEVEL_SCOPE</tt></tt>
<tt>SUBTREE_SCOPE。</tt>
</dd>
<dd>
<code>l</code> - 非
<code>l</code>听众。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></code> - 如果在添加侦听器时遇到问题。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/naming/event/EventContext.html#removeNamingListener-javax.naming.event.NamingListener-"><code>removeNamingListener(javax.naming.event.NamingListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="removeNamingListener-javax.naming.event.NamingListener-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>removeNamingListener</h4> <pre>void removeNamingListener(<a href="../../../javax/naming/event/NamingListener.html" title="interface in javax.naming.event">NamingListener</a> l)
throws <a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></pre>
<div class="block">
<span>自收到本<tt>EventContext</tt>解雇命名事件中移除一个侦听器。</span>
<span>听众可能已经使用此<tt>EventContext注册了多次</tt> ,也许具有不同的目标/范围参数。</span>
<span>调用此方法后,侦听器将不再接收与此<tt>EventContext</tt>实例相关的事件作为事件源(已经在调度过程中的事件除外)。</span>
<span>如果侦听器没有或不再被注册到这个<tt>EventContext</tt>实例,这个方法不做任何事情。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>l</code> - 非内容侦听器。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></code> - 如果在删除侦听器时遇到问题。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/naming/event/EventContext.html#addNamingListener-javax.naming.Name-int-javax.naming.event.NamingListener-"><code>addNamingListener(javax.naming.Name, int, javax.naming.event.NamingListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="targetMustExist--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>targetMustExist</h4> <pre>boolean targetMustExist()
throws <a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></pre>
<div class="block">
确定侦听器是否可以注册不存在的目标的兴趣。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>如果目标必须存在则为true;</span>
<span>如果目标不需要则为false。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></code> - 如果上下文在这方面的行为无法确定。
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>