mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-09 03:12:47 +08:00
403 lines
25 KiB
HTML
403 lines
25 KiB
HTML
<div class="header">
|
||
<h1 class="title" title="Package">Package org.omg.CosNaming</h1>
|
||
<div class="docSummary">
|
||
<div class="block">
|
||
为Java IDL提供命名服务。
|
||
</div>
|
||
</div>
|
||
<p>See: <a href="#package.description">描述</a></p>
|
||
</div><div class="contentContainer">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<table border="0" cellpadding="3" cellspacing="0" class="typeSummary" summary="Interface Summary table, listing interfaces, and an explanation">
|
||
<caption>
|
||
<span>接口摘要</span>
|
||
<span class="tabEnd"> </span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">接口</th>
|
||
<th class="colLast" scope="col">描述</th>
|
||
</tr>
|
||
</tbody>
|
||
<tbody>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/BindingIterator.html" title="interface in org.omg.CosNaming">BindingIterator</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
BindingIterator接口允许客户端使用next_one或next_n操作来迭代绑定。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/BindingIteratorOperations.html" title="interface in org.omg.CosNaming">BindingIteratorOperations</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
BindingIterator接口允许客户端使用next_one或next_n操作来迭代绑定。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/NamingContext.html" title="interface in org.omg.CosNaming">NamingContext</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
命名上下文是一个包含一组名称绑定的对象,其中每个名称都是唯一的。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/NamingContextExt.html" title="interface in org.omg.CosNaming">NamingContextExt</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
<code>NamingContextExt</code>是NamingContext的
|
||
<code>NamingContext</code> ,它包含一组名称绑定,其中每个名称是唯一的,并且是可互操作命名服务的一部分。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/NamingContextExtOperations.html" title="interface in org.omg.CosNaming">NamingContextExtOperations</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
<code>NamingContextExt</code>是NamingContext的
|
||
<code>NamingContext</code> ,它包含一组名称绑定,其中每个名称是唯一的,并且是可互操作命名服务的一部分。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/NamingContextOperations.html" title="interface in org.omg.CosNaming">NamingContextOperations</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
命名上下文是一个包含一组名称绑定的对象,其中每个名称都是唯一的。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
<li class="blockList">
|
||
<table border="0" cellpadding="3" cellspacing="0" class="typeSummary" summary="Class Summary table, listing classes, and an explanation">
|
||
<caption>
|
||
<span>类摘要</span>
|
||
<span class="tabEnd"> </span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">类</th>
|
||
<th class="colLast" scope="col">描述</th>
|
||
</tr>
|
||
</tbody>
|
||
<tbody>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/_BindingIteratorImplBase.html" title="class in org.omg.CosNaming">_BindingIteratorImplBase</a></td>
|
||
<td class="colLast"> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/_BindingIteratorStub.html" title="class in org.omg.CosNaming">_BindingIteratorStub</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
BindingIterator接口允许客户端使用next_one或next_n操作来迭代绑定。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/_NamingContextExtStub.html" title="class in org.omg.CosNaming">_NamingContextExtStub</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
<code>NamingContextExt</code>是NamingContext的
|
||
<code>NamingContext</code> ,其中包含一组名称绑定,其中每个名称是唯一的,并且是可互操作命名服务的一部分。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/_NamingContextImplBase.html" title="class in org.omg.CosNaming">_NamingContextImplBase</a></td>
|
||
<td class="colLast"> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/_NamingContextStub.html" title="class in org.omg.CosNaming">_NamingContextStub</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
命名上下文是一个包含一组名称绑定的对象,其中每个名称都是唯一的。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/Binding.html" title="class in org.omg.CosNaming">Binding</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
org / omg / CosNaming / Binding.java。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/BindingHelper.html" title="class in org.omg.CosNaming">BindingHelper</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
org / omg / CosNaming / BindingHelper.java。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/BindingHolder.html" title="class in org.omg.CosNaming">BindingHolder</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
org / omg / CosNaming / BindingHolder.java。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/BindingIteratorHelper.html" title="class in org.omg.CosNaming">BindingIteratorHelper</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
BindingIterator接口允许客户端使用next_one或next_n操作来迭代绑定。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/BindingIteratorHolder.html" title="class in org.omg.CosNaming">BindingIteratorHolder</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
BindingIterator接口允许客户端使用next_one或next_n操作来迭代绑定。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/BindingIteratorPOA.html" title="class in org.omg.CosNaming">BindingIteratorPOA</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
BindingIterator接口允许客户端使用next_one或next_n操作来迭代绑定。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/BindingListHelper.html" title="class in org.omg.CosNaming">BindingListHelper</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
绑定清单。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/BindingListHolder.html" title="class in org.omg.CosNaming">BindingListHolder</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
绑定清单。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/BindingType.html" title="class in org.omg.CosNaming">BindingType</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
指定给定的绑定是针对对象(不是命名上下文)还是用于命名上下文。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/BindingTypeHelper.html" title="class in org.omg.CosNaming">BindingTypeHelper</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
指定给定的绑定是针对对象(不是命名上下文)还是用于命名上下文。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/BindingTypeHolder.html" title="class in org.omg.CosNaming">BindingTypeHolder</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
指定给定的绑定是针对对象(不是命名上下文)还是用于命名上下文。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/IstringHelper.html" title="class in org.omg.CosNaming">IstringHelper</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
org / omg / CosNaming / IstringHelper.java。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/NameComponent.html" title="class in org.omg.CosNaming">NameComponent</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
org / omg / CosNaming / NameComponent.java。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/NameComponentHelper.html" title="class in org.omg.CosNaming">NameComponentHelper</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
org / omg / CosNaming / NameComponentHelper.java。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/NameComponentHolder.html" title="class in org.omg.CosNaming">NameComponentHolder</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
org / omg / CosNaming / NameComponentHolder.java。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/NameHelper.html" title="class in org.omg.CosNaming">NameHelper</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
名称是名称组件的序列。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/NameHolder.html" title="class in org.omg.CosNaming">NameHolder</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
名称是名称组件的序列。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/NamingContextExtHelper.html" title="class in org.omg.CosNaming">NamingContextExtHelper</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
<code>NamingContextExt</code>是NamingContext的
|
||
<code>NamingContext</code> ,它包含一组名称绑定,其中每个名称是唯一的,并且是可互操作命名服务的一部分。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/NamingContextExtHolder.html" title="class in org.omg.CosNaming">NamingContextExtHolder</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
<code>NamingContextExt</code>是NamingContext的
|
||
<code>NamingContext</code> ,其中包含一组名称绑定,其中每个名称是唯一的,并且是可互操作命名服务的一部分。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/NamingContextExtPOA.html" title="class in org.omg.CosNaming">NamingContextExtPOA</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
<code>NamingContextExt</code>是NamingContext的
|
||
<code>NamingContext</code> ,其中包含一组名称绑定,其中每个名称是唯一的,并且是可互操作命名服务的一部分。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/NamingContextHelper.html" title="class in org.omg.CosNaming">NamingContextHelper</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
命名上下文是一个包含一组名称绑定的对象,其中每个名称都是唯一的。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/NamingContextHolder.html" title="class in org.omg.CosNaming">NamingContextHolder</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
命名上下文是一个包含一组名称绑定的对象,其中每个名称都是唯一的。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../org/omg/CosNaming/NamingContextPOA.html" title="class in org.omg.CosNaming">NamingContextPOA</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
命名上下文是一个包含一组名称绑定的对象,其中每个名称都是唯一的。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
</ul>
|
||
<a name="package.description">
|
||
<!-- --> </a>
|
||
<h2 title="Package org.omg.CosNaming Description">Package org.omg.CosNaming Description</h2>
|
||
<div class="block">
|
||
<span>为Java IDL提供命名服务。</span>
|
||
<span>对象请求代理守护程序(ORBD)还包括暂时和持久命名服务。</span>
|
||
<p> <span>软件包及其所有类和接口是通过在文件<code>nameservice.idl</code>上运行工具<code>idlj</code> ,该文件<code>nameservice.idl</code> OMG IDL编写的模块。</span> </p>
|
||
<h3> <span>包装规格</span> </h3>
|
||
<p> <span>有关Java [tm] Platform,Standard Edition 6,ORB符合的官方规范支持部分的精确列表,请参阅<a href="../CORBA/doc-files/compliance.html">Official Specifications for CORBA support in Java[tm] SE 6</a> 。</span> </p>
|
||
<p></p>
|
||
<h2> <span>接口</span> </h2>
|
||
<span>包<tt>org.omg.CosNaming</tt>包含两个公共接口和几个辅助类。</span>
|
||
<p> <span>接口是:</span> </p>
|
||
<ul>
|
||
<li> <span><tt>NamingContext</tt></span> </li>
|
||
<li> <span><tt>BindingIterator</tt></span> </li>
|
||
</ul>
|
||
<p> <span>这两个接口提供绑定/取消绑定名称和对象引用,检索绑定对象引用以及遍历绑定列表的方法。</span> <span><code>NamingContext</code>接口提供了命名服务的主要功能, <code>BindingIterator</code>提供了一种迭代名称/对象引用绑定列表的方法。</span> </p>
|
||
<p></p>
|
||
<h2> <span>辅助课</span> </h2>
|
||
<span>为了将OMG IDL接口映射到Java编程语言,idlj编译器创建可以被认为是辅助类的Java类。</span>
|
||
<span>此处包含由接口<code>NamingContext</code>和<code>BindingIterator</code>使用的生成的辅助类的注释。</span>
|
||
<p></p>
|
||
<h3> <span><code>NamingContext</code>和<code>BindingIterator</code>使用的<code>BindingIterator</code></span> </h3>
|
||
<span>以下是命名服务使用的类。</span>
|
||
<span>(帮助者和持有者类,为这里列出的每个类生成,将在下面讨论。)</span>
|
||
<ul>
|
||
<li> <span><code>public final class <b>NameComponent</b></code> - 一个名字的构建块。</span> <span>(名称绑定到命名上下文中的对象引用。)</span> <p> <span>名称是一个或多个<code>NameComponent</code>对象的数组。</span> <span>一个名字与一个<code>NameComponent</code>被称为一个<i>简单的名字</i> ;</span> <span>具有多个<code>NameComponent</code>对象的名称称为<i>复合名称</i> 。</span> </p><p> <span>一个<code><b>NameComponent</b></code>对象由两个字段组成:</span> </p>
|
||
<ol>
|
||
<li> <span><code><b>id</b></code> - a <code>String</code>用作标识符</span> </li>
|
||
<li> <span><code><b>kind</b></code> -一个<code>String</code>可用于任何描述性的目的。</span> <span>它的重要性在于它可以用来描述一个对象而不影响语法。</span> <span>例如,C编程语言使用将扩展名“.c”附加到文件名的句法约定,以指示它是源代码文件。</span> <span>在<code>NameComponent</code>对象中, <code>kind</code>字段可用于描述对象的类型,而不是文件扩展名或其他一些句法约定。</span> <span>所述的值的实例<code>kind</code>字段包括琴弦<code>"c_source"</code> , <code>"object_code"</code> , <code>"executable"</code> , <code>"postscript"</code>和<code>""</code> 。</span> <span><code>kind</code>字段是空字符串并不罕见。</span> </li>
|
||
</ol><p> <span>以一个名字,每个<code>NameComponent</code>对象除了最后一个表示一个<code>NamingContext</code>对象;</span> <span>最后一个<code>NameComponent</code>对象表示绑定的对象引用。</span> <span>这与路径名称类似,其中最后一个名称是文件名,其前面的所有名称都是目录名称。</span> </p><p></p><p></p></li>
|
||
<li> <span><code>public final class <b>Binding</b></code> - 将名称与对象引用或命名上下文相关联的对象。</span> <span>一个<code>Binding</code>对象有两个字段:</span>
|
||
<ol>
|
||
<li> <span><code><b>binding_name</b></code> - 表示绑定名称的一个或多个<code>NameComponent</code>对象的数组</span> </li>
|
||
<li> <span><code><b>binding_type</b></code> - 一个<code>BindingType</code>对象,指示绑定是在名称和对象引用之间,还是在名称和命名上下文之间</span> </li>
|
||
</ol><p> <span>界面<code>NamingContext</code>具有用于绑定/取消绑定名称与对象引用或命名上下文,列表绑定和解析绑定的方法(给定一个名称,方法<code>resolve</code>返回绑定到其上的对象引用)。</span> </p><p></p></li>
|
||
<li> <span><code>public final class <b>BindingType</b></code> - 一个对象,指定给定的<code>Binding</code>对象是名称和对象引用(即不是命名上下文)之间或名称和命名上下文之间的绑定。</span> <p> <span><code>BindingType</code>类由两个方法和四个常数组成。</span> <span>其中两个常数是<code>BindingType</code>对象,两个是<code>int</code> s。</span> </p><p> <span><code>BindingType</code>对象可以传递给类<code>Binding</code>的构造<code>Binding</code>或用作参数或返回值。</span> <span>这些<code>BindingType</code>对象是:</span> </p>
|
||
<ul>
|
||
<li> <span><code>public static final BindingType <b>nobject</b></code> - 表示绑定与对象引用</span> </li>
|
||
<li> <span><code>public static final BindingType <b>ncontext</b></code> - 表示绑定与命名上下文</span> </li>
|
||
</ul><p> <span>可以将<code>int</code>常量提供给方法<code>from_int</code>以创建<code>BindingType</code>对象,或者它们可以返回方法<code>value</code>值。</span> <span>这些常数是:</span> </p>
|
||
<ul>
|
||
<li> <code>public static final int <b>_nobject</b></code> </li>
|
||
<li> <code>public static final int <b>_ncontext</b></code> </li>
|
||
</ul> <span>如果方法<code>from_int</code>提供了除<code>_nobject</code>或<code>_ncontext</code>之外的任何东西,它将抛出异常<code>org.omg.CORBA.BAD_PARAM</code> 。</span> <p> <span>用法如下:</span> </p><pre> <span>BindingType btObject = from_int(_nobject);
|
||
BindingType btContext = from_int(_ncontext);</span> </pre> <span>变量<code>btObject</code>引用了一个<code>BindingType</code>对象,该对象被初始化以表示具有对象引用的绑定。</span> <span>变量<code>btContext</code>是指一个<code>BindingType</code>对象,初始化为表示与<code>NamingContex</code>对象的绑定。</span> <p> <span>方法<code>value</code>返回<code>_nobject</code>或<code>_ncontext</code> ,所以在以下代码行中,变量<code>bt</code>将包含<code>_nobject</code>或<code>_ncontext</code> :</span> </p><pre> <span>int bt = BindingType.value();</span> </pre></li>
|
||
</ul>
|
||
<h3> <span>持有人类</span> </h3>
|
||
<span>OMG IDL使用OUT和INOUT参数从操作返回值。</span>
|
||
<span>没有OUT和INOUT参数的Java编程语言的映射为每个类型创建一个称为持有者类的特殊类。</span>
|
||
<span>可以将持有人类的实例作为参数传递给Java方法,并将值分配给其<code>value</code>字段。</span>
|
||
<span>这允许它执行OUT或INOUT参数的功能。</span>
|
||
<p> <span>为包<code>org.omg.CosNaming</code>以下持有人类别:</span> </p>
|
||
<ul>
|
||
<li> <code>NamingContextHolder</code> </li>
|
||
<li> <code>BindingIteratorHolder</code> </li>
|
||
<li> <code>BindingHolder</code> </li>
|
||
<li> <code>BindingListHolder</code> </li>
|
||
<li> <code>BindingTypeHolder</code> </li>
|
||
<li> <code>NameComponentHolder</code> </li>
|
||
<li> <code>NameHolder</code> </li>
|
||
</ul>
|
||
<p> <span>需要注意的是,在<code>org.omg.CORBA</code>包,则每个基本Java类型的holder类: <code>IntHolder</code> , <code>ShortHolder</code> , <code>StringHolder</code> ,等等。</span> </p>
|
||
<p> <span>还需要注意的是有一个<code>NameHolder</code>即使没有课<code>Name</code>类;</span> <span>同样,还有一个<code>BindingListHolder</code>即使没有课<code>BindingList</code>类。</span> <span>这是真的,因为在OMG IDL界面中, <code>Name</code>和<code>BindingList</code>都是<code>typedef</code> 。</span> <span>没有从IDL <code>typedef</code>到Java构造的映射,但是如果<code>typedef</code>用于序列或数组,则会生成<code>typedef</code>类。</span> <span>由于映射到Java编程语言, <code>Name</code>是<code>NameComponent</code>对象的数组,而<code>BindingList</code>是<code>Binding</code>对象的数组。</span> <span>所有持有者类至少有两个构造函数和一个字段:</span> </p>
|
||
<ul>
|
||
<li> <span><code><b>value</b></code>字段 - 用作OUT或INOUT参数的类型实例。</span> <span>例如, <code>value</code>字段的<code>NamingContextHolder</code>将是一个<code>NamingContext</code>对象。</span> </li>
|
||
<li> <span>默认构造函数 - 一个构造函数,用于创建使用该类型的默认值初始化的新的持有者对象。</span> <span>例如,使用默认<code>BindingHolder</code>函数创建的新的<code>BindingHolder</code>对象将其<code>value</code>字段设置为<code>null</code> ,因为它是对象的默认值。</span> <span>其他默认设置是<code>false</code>为<code>boolean</code> , <code>0</code>对于数字和char类型,并<code>null</code>对象引用。</span> </li>
|
||
<li> <span>一个实例的构造函数 - 一个创建一个新的持有者对象的<code>value</code>函数,该对象的<code>value</code>字段是使用实例初始化的</span> </li>
|
||
</ul>
|
||
<p> <span>用户定义类型(Java类)的持有者类具有三种方法,但应用程序开发人员不直接使用它们。</span> </p>
|
||
<h3> <span>助手班</span> </h3>
|
||
<span>为OMG IDL接口中的所有用户定义类型生成的助手类提供了处理这些类型所需的静态方法。</span>
|
||
<p> <span>应用程序员使用的辅助类中只有一种方法:方法<code>narrow</code> 。</span> <span>只有从IDL接口映射的Java接口将有一个助手类,其中包含一个<code>narrow</code>方法,所以在<code>CosNaming</code>包中,只有类<code>NamingContextHelper</code>和<code>BindingIteratorHelper</code>具有<code>narrow</code>方法。</span> </p>
|
||
<ul>
|
||
<li> <span><code>public static NamingContext <b>narrow</b>(org.omg.CORBA.Object obj)</code> - 将给定的CORBA对象转换为<code>NamingContext</code>对象</span> </li>
|
||
<li> <span><code>public static BindingIterator <b>narrow</b>(org.omg.CORBA.Object obj)</code> - 将给定的CORBA对象转换为<code>BindingIterator</code>对象</span> </li>
|
||
</ul>
|
||
<h2> <span>套餐<code>org.omg.CosNaming.NamingContextPackage</code></span> </h2>
|
||
<span>该包为包org.omg.CosNaming中使用的<code>org.omg.CosNaming</code>以及NotFoundReason类提供了助手和持有<code>NotFoundReason</code> ,这提供了异常<code>NotFound</code>的原因。</span>
|
||
<p> <span>Helper和Holder课程有以下例外:</span> </p>
|
||
<ul>
|
||
<li> <code>AlreadyBound</code> </li>
|
||
<li> <code>CannotProceed</code> </li>
|
||
<li> <code>InvalidName</code> </li>
|
||
<li> <code>NotEmpty</code> </li>
|
||
<li> <code>NotFound</code> </li>
|
||
</ul>
|
||
<h2> <span>命名服务兼容性</span> </h2>
|
||
<span>Sun的贯彻<code>CosNaming</code>包装与OMG符合<code>COSNaming</code>规范。</span>
|
||
<span>换句话说,Sun的命名服务中的API是根据OMG提供的命名服务的指导来实现的。</span>
|
||
<span>因此,如果第三方供应商实施符合OMG的命名服务,则可以在Sun的CosNaming <code>CosNaming</code>与第三方供应商的实施之间切换。</span>
|
||
<span>然而,重要的是要明白,不同的供应商实现命名服务的方式可能会有很小的变化,例如异常字符串的差异。</span>
|
||
<h3> <span>使用第三方命名服务的说明</span> </h3>
|
||
<span>虽然我们鼓励使用来自一个供应商的ORB和ORB服务,但可以使用Sun的RMI-IIOP ORB插入第三方的<code>COSNaming</code>实现。</span>
|
||
<span>以下是以下步骤:</span>
|
||
<ol>
|
||
<li> <span>为Bootstrap服务器创建一个属性文件,并给它两个条目。</span> <span>例如,您可以将此属性文件<code>/tmp/services</code> ,并将以下内容放入其中: <code>NameService, <Stringified IOR of the Root Naming Context></code> 。</span> <p> <span>这将使<code>NameService</code>与要使用的<code>NameService</code>实现的根命名上下文相关<code>CosNaming</code> 。</span> </p><p></p></li>
|
||
<li> <span>使用以下命令启动独立Bootstrap服务器:</span> <pre> <span><code> java -classpath $(CLASSPATH) com.sun.corba.ee.internal.CosNaming.BootstrapServer -InitialServicesFile "/tmp/services" [-ORBInitialPort port] </code></span> </pre><p> <span>请注意,命令结尾处的方括号表示指定端口号是可选的。</span> </p></li>
|
||
</ol>
|
||
<p> <span>现在当应用程序调用方法<code>org.omg.CORBA.ORB.resolve_initial_references</code>时,CORBA进程将联系引导服务器以获取根命名上下文。</span> </p>
|
||
<h2> <span>包装规格</span> </h2>
|
||
<ul>
|
||
<li> <span>互操作命名服务( <a href="http://cgi.omg.org/cgi-bin/doc?ptc/00-08-07">ptc/00-08-07</a> )</span> </li>
|
||
</ul>
|
||
<h2> <span>相关文档</span> </h2>
|
||
<span>有关如何使用<code>CosNaming</code> API的概述和示例,请参阅:</span>
|
||
<ul>
|
||
<li> <span><a href="../../../../technotes/guides/idl/tnameserv.html">Naming Service</a></span> </li>
|
||
</ul>
|
||
<p> <span>有关Java IDL的概述,请参阅:</span> </p>
|
||
<ul>
|
||
<li> <span><a href="../../../../technotes/guides/idl/index.html">Java IDL home page</a></span> </li>
|
||
</ul>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
JDK1.3
|
||
</dd>
|
||
</dl>
|
||
</div> |