jdk/src/solaris/doc/sun/man/man1/ja/tnameserv.1
changeset 9352 cabba0c0f3ee
parent 5865 47da38a8c0f0
child 9566 d7241af95355
equal deleted inserted replaced
9148:8837e7172929 9352:cabba0c0f3ee
    17 ."
    17 ."
    18 ." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    18 ." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    19 ." or visit www.oracle.com if you need additional information or have any
    19 ." or visit www.oracle.com if you need additional information or have any
    20 ." questions.
    20 ." questions.
    21 ."
    21 ."
    22 .TH tnameserv 1 "02 Jun 2010"
    22 .TH tnameserv 1 "14 Apr 2011"
    23 
    23 
    24 .LP
    24 .LP
    25 .SH "名前"
    25 .SH "̾"
    26 Java IDL:一時ネームサービス \- \f2tnameserv\fP
    26 Java IDL: ͡ॵӥ \- \f2tnameserv\fP
    27 .LP
    27 .LP
    28 .LP
    28 .LP
    29 このドキュメントでは、Java IDL 一時ネームサービス \f2tnameserv\fP の使用方法について説明します。Java IDL には、Object Request Broker Daemon (ORBD) も含まれています。ORBD は、ブートストラップサービス、一時ネームサービス、\f3持続\fPネームサービス、およびサーバーマネージャーを含むデーモンプロセスです。Java IDL のすべてのチュートリアルでは ORBD を使用していますが、一時ネームサービスを使用する例では、\f2orbd\fP の代わりに \f2tnameserv\fP を使用できます。\f2orbd\fP ツールの詳細については、\f2orbd\fP の orbd(1)または
    29 ΥɥȤǤϡJava IDL ͡ॵӥ \f2tnameserv\fP λˡˤĤޤJava IDL ˤϡObject Request Broker Daemon (ORBD) ޤޤƤޤORBD ϡ֡ȥȥåץӥ͡ॵӥ\f3³\fP͡ॵӥӥСޥ͡㡼ޤǡץǤJava IDL Τ٤ƤΥ塼ȥꥢǤ ORBD ѤƤޤ͡ॵӥѤǤϡ\f2orbd\fP  \f2tnameserv\fP ѤǤޤ\f2orbd\fP ġξܺ٤ˤĤƤϡorbd  orbd(1)ޤ 
    30 .na
    30 .na
    31 \f2ORBD に含まれる Java IDL ネームサービス\fP @
    31 \f2ORBD ˴ޤޤ Java IDL ͡ॵӥ\fP @
    32 .fi
    32 .fi
    33 http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.htmlに関するトピックを参照してください。
    33 http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html˴ؤȥԥå򻲾ȤƤ
    34 .LP
    34 .LP
    35 .LP
    35 .LP
    36 ここでは、以下の項目について説明します。
    36 ǤϡʲιܤˤĤޤ
    37 .LP
    37 .LP
    38 .RS 3
    38 .RS 3
    39 .TP 2
    39 .TP 2
    40 o
    40 o
    41 Java\ IDL 一時ネームサービス 
    41 Java\ IDL ͡ॵӥ 
    42 .TP 2
    42 .TP 2
    43 o
    43 o
    44 Java\ IDL 一時ネームサービスの起動 
    44 Java\ IDL ͡ॵӥεư 
    45 .TP 2
    45 .TP 2
    46 o
    46 o
    47 Java\ IDL 一時ネームサービスの停止 
    47 Java\ IDL ͡ॵӥ 
    48 .TP 2
    48 .TP 2
    49 o
    49 o
    50 サンプルクライアント:名前空間へのオブジェクトの追加 
    50 ץ륯饤: ֤̾ؤΥ֥Ȥɲ 
    51 .TP 2
    51 .TP 2
    52 o
    52 o
    53 サンプルクライアント:名前空間のブラウズ 
    53 ץ륯饤: ֤̾Υ֥饦 
    54 .RE
    54 .RE
    55 
    55 
    56 .LP
    56 .LP
    57 .SH "Java\ IDL 一時ネームサービス"
    57 .SH "Java IDL ͡ॵӥ"
    58 .LP
    58 .LP
    59 .LP
    59 .LP
    60 CORBA の COS (Common Object Services) ネームサービスは、ファイルシステムがファイルに対してディレクトリ構造を提供しているのと同じように、オブジェクト参照に対してツリー構造のディレクトリを提供します。Java IDL の一時ネームサービスである \f2tnameserv\fP は、COS ネームサービスの仕様を単純な形で実装したものです。
    60 CORBA  COS (Common Object Services) ͡ॵӥϡե륷ƥबեФƥǥ쥯ȥ깽¤󶡤ƤΤƱ褦ˡ֥ȻȤФƥĥ꡼¤Υǥ쥯ȥ󶡤ޤJava IDL ΰ͡ॵӥǤ \f2tnameserv\fP ϡCOS ͡ॵӥλͤñʷǼΤǤ
    61 .LP
    61 .LP
    62 .LP
    62 .LP
    63 オブジェクト参照は名前空間に名前で格納され、オブジェクト参照と名前のペアは、それぞれ「ネームバインディング」と呼ばれます。ネームバインディングは「ネーミングコンテキスト」に組み込むことができます。ネーミングコンテキストはそれ自体がネームバインディングであり、ファイルシステムのサブディレクトリと同じ編成機能を持ちます。すべてのバインディングは「初期ネーミングコンテキスト」に格納されます。名前空間において、初期ネーミングコンテキストは唯一の持続的バインディングです。 それ以外のネーミングコンテキストは、Java IDL のネーミングサービスプロセスが停止し、再起動されると失われます。
    63 ֥ȻȤ֤̾̾dzǼ졢֥ȻȤ̾Υڥϡ줾֥͡Хǥ󥰡פȸƤФޤ͡Хǥ󥰤ϡ֥͡ߥ󥰥ƥȡפȤ߹ळȤǤޤ͡ߥ󥰥ƥȤϤ켫Τ͡Хǥ󥰤Ǥꡢե륷ƥΥ֥ǥ쥯ȥƱǽޤ٤ƤΥХǥ󥰤ϡֽ͡ߥ󥰥ƥȡפ˳Ǽޤ֤̾ˤơ͡ߥ󥰥ƥȤͣλ³ŪХǥ󥰤ǤʳΥ͡ߥ󥰥ƥȤϡJava IDL Υ͡ߥ󥰥ӥץߤƵưȼޤ
    64 .LP
    64 .LP
    65 .LP
    65 .LP
    66 アプレットまたはアプリケーションから COS ネームサービスを使用するためには、その ORB はネームサービスが動作しているホストのポートを知っているか、そのネームサービスの文字列化された初期ネーミングコンテキストにアクセスできなければなりません。ネームサービスは、Java\ IDL のネームサービスでもその他の COS 準拠のネームサービスでもかまいません。
    66 ץåȤޤϥץꥱ󤫤 COS ͡ॵӥѤ뤿ˤϡ ORB ϥ͡ॵӥưƤۥȤΥݡȤΤäƤ뤫Υ͡ॵӥʸ󲽤줿͡ߥ󥰥ƥȤ˥ǤʤФʤޤ󡣥͡ॵӥϡJava IDL Υ͡ॵӥǤ⤽¾ COS Υ͡ॵӥǤ⤫ޤޤ
    67 .LP
    67 .LP
    68 .SH "Java\ IDL 一時ネームサービスの起動"
    68 .SH "Java IDL ͡ॵӥεư"
    69 .LP
    69 .LP
    70 .LP
    70 .LP
    71 Java\ IDL ネームサービスは、ネームサービスを使用するアプリケーションまたはアプレットより前に起動しておかなければなりません。Java\ IDL 製品をインストールすると、Java IDL ネームサービスを起動するスクリプト (Solaris: \f2tnameserv\fP) か、実行可能ファイル (Windows NT: \f2tnameserv.exe\fP) が作成されます。バックグラウンドで動作するように、ネームサービスを起動してください。
    71 Java IDL ͡ॵӥϡ͡ॵӥѤ륢ץꥱޤϥץåȤ˵ưƤɬפޤJava\ IDL ʤ򥤥󥹥ȡ뤹ȡJava\ IDL ͡ॵӥư륹ץ (Solaris: \f2tnameserv\fP) ޤϼ¹Բǽե (Windows NT: \f2tnameserv.exe\fP) ޤХå饦ɤư褦ˡ͡ॵӥưƤ
    72 .LP
    72 .LP
    73 .LP
    73 .LP
    74 特に指定しない場合、Java IDL ネームサービスは、ORB の \f2resolve_initial_references()\fP メソッドと \f2list_initial_references()\fP メソッドの実装に使用するブートストラッププロトコルに対してポート 900 で待機します。
    74 ä˻ꤷʤ硢Java IDL ͡ॵӥϡORB  \f2resolve_initial_references()\fP ᥽åɤ \f2list_initial_references()\fP ᥽åɤμ˻Ѥ֡ȥȥåץץȥФƥݡ 900 Եޤ
    75 .LP
    75 .LP
    76 .nf
    76 .nf
    77 \f3
    77 \f3
    78 .fl
    78 .fl
    79         tnameserv \-ORBInitialPort \fP\f4nameserverport\fP\f3&
    79         tnameserv \-ORBInitialPort \fP\f4nameserverport\fP\f3&
    81 \fP
    81 \fP
    82 .fi
    82 .fi
    83 
    83 
    84 .LP
    84 .LP
    85 .LP
    85 .LP
    86 ネームサーバーポートを指定しない場合、デフォルトでポート 900 が使用されます。Solaris ソフトウェアの実行時は、1024 より小さいポートでプロセスを開始する場合、root ユーザーになる必要があります。 このため、1024 または 1024 より大きいポートを使用することをお勧めします。 1050 のように別のポートを指定し、ネームサービスをバックグラウンドで実行するには、UNIX コマンドシェルで次のように入力します。
    86 ͡ॵСݡȤꤷʤ硢ǥեȤǥݡ 900 ѤޤSolaris եȥμ¹Իϡ1024 꾮ݡȤǥץ򳫻Ϥ硢root 桼ˤʤɬפޤΤᡢ1024 ޤ 1024 礭ݡֹѤ뤳Ȥ򤪴ᤷޤ1050 Τ褦̤ΥݡȤꤷ͡ॵӥХå饦ɤǼ¹ԤˤϡUNIX ޥɥǼΤ褦Ϥޤ
    87 .LP
    87 .LP
    88 .nf
    88 .nf
    89 \f3
    89 \f3
    90 .fl
    90 .fl
    91         tnameserv \-ORBInitialPort 1050&
    91         tnameserv \-ORBInitialPort 1050&
    93 \fP
    93 \fP
    94 .fi
    94 .fi
    95 
    95 
    96 .LP
    96 .LP
    97 .LP
    97 .LP
    98 Windows の MS\-DOS システムプロンプトでは、次のように入力します。
    98 Windows  MS\-DOS ƥץץȤǤϡΤ褦Ϥޤ
    99 .LP
    99 .LP
   100 .nf
   100 .nf
   101 \f3
   101 \f3
   102 .fl
   102 .fl
   103         start tnameserv \-ORBInitialPort 1050
   103         start tnameserv \-ORBInitialPort 1050
   105 \fP
   105 \fP
   106 .fi
   106 .fi
   107 
   107 
   108 .LP
   108 .LP
   109 .LP
   109 .LP
   110 ネームサーバーのクライアントには、新しいポート番号を知らせる必要があります。このため、ORB オブジェクトの作成時に \f2org.omg.CORBA.ORBInitialPort\fP プロパティーに新しいポート番号を設定します。
   110 ͡ॵСΥ饤ȤˤϡݡֹΤ餻ɬפޤΤᡢORB ֥Ȥκ \f2org.omg.CORBA.ORBInitialPort\fP ץѥƥ˿ݡֹꤷޤ
   111 .LP
   111 .LP
   112 .SS 
   112 .SS 
   113 異なるマシン上でのクライアントとサーバーの実行
   113 ۤʤޥǤΥ饤ȤȥСμ¹
   114 .LP
   114 .LP
   115 .LP
   115 .LP
   116 Java IDL と RMI\-IIOP のほとんどのチュートリアルでは、ネームサービス、サーバー、およびクライアントはすべて開発用のマシン上で実行されます。実際に配備する場合には、クライアントとサーバーを、ネームサービスとは異なるホスト上で実行することが多くなります。
   116 Java IDL  RMI\-IIOP ΤۤȤɤΥ塼ȥꥢǤϡ͡ॵӥСӥ饤ȤϤ٤ƳȯѤΥޥǼ¹Ԥޤºݤˤϡ饤ȤȥС򡢥͡ॵӥȤϰۤʤۥȾǼ¹Ԥ뤳Ȥ¿ʤޤ
   117 .LP
   117 .LP
   118 .LP
   118 .LP
   119 クライアントとサーバーがネームサービスを見つけるには、クライアントとサーバーが、ネームサービスが実行されているポートの番号とホストを認識している必要があります。そのためには、クライアントとサーバーのファイル内の \f2org.omg.CORBA.ORBInitialPort\fP プロパティーと \f2org.omg.CORBA.ORBInitialHost\fP プロパティーをネームサービスが実行されているポートの番号とマシンの名前に設定します。この例は、
   119 饤ȤȥС͡ॵӥ򸫤Ĥˤϡ饤ȤȥС͡ॵӥ¹ԤƤݡȤֹȥۥȤǧƤɬפޤΤˤϡ饤ȤȥСΥե \f2org.omg.CORBA.ORBInitialPort\fP ץѥƥ \f2org.omg.CORBA.ORBInitialHost\fP ץѥƥ͡ॵӥ¹ԤƤݡȤֹȥޥ̾ꤷޤϡ
   120 .na
   120 .na
   121 \f2「RMI\-IIOP を使った Hello World の例」\fP @
   121 \f2RMI\-IIOP Ȥä Hello World פ˼Ƥޤ\fP @
   122 .fi
   122 .fi
   123 http://java.sun.com/javase/6/docs/technotes/guides/rmi\-iiop/rmiiiopexample.htmlに示されています。コマンド行オプション \f2\-ORBInitialPort\fP \f2nameserverport#\fP と \f2\-ORBInitialHost\fP \f2nameserverhostname\fP を使用して、クライアントとサーバーに対してネームサービスを探す場所を指定することもできます。
   123 http://java.sun.com/javase/6/docs/technotes/guides/rmi\-iiop/rmiiiopexample.htmlޥɹԥץ \f2\-ORBInitialPort\fP \f2nameserverport#\fP  \f2\-ORBInitialHost\fP \f2nameserverhostname\fP Ѥơ饤ȤȥСФƥ͡ॵӥõꤹ뤳ȤǤޤ
   124 .na
   124 .na
   125 \f2「Java IDL: 2 台のマシン上で実行する Hello World プログラム」\fP @
   125 \f2Java IDL: 2 ΥޥǼ¹Ԥ Hello World ץ\fP @
   126 .fi
   126 .fi
   127 http://java.sun.com/javase/6/docs/technotes/guides/idl/tutorial/jidl2machines.html には、コマンド行オプションを使用して指定する方法が示されています。
   127 http://java.sun.com/javase/6/docs/technotes/guides/idl/tutorial/jidl2machines.html ˤϡޥɹԥץѤƻꤹˡƤޤ
   128 .LP
   128 .LP
   129 .LP
   129 .LP
   130 たとえば、一時ネームサービス \f2tnameserv\fP が、ホスト \f2nameserverhost\fP のポート 1050 上で実行されているとします。さらに、クライアントがホスト \f2clienthost\fP 上で実行され、サーバーはホスト \f2serverhost\fP 上で実行されているとします。
   130 ȤС͡ॵӥ \f2tnameserv\fP ۥ \f2nameserverhost\fP Υݡ 1050 Ǽ¹ԤƤȤޤˡ饤Ȥۥ \f2clienthost\fP Ǽ¹Ԥ졢Сϥۥ \f2serverhost\fP Ǽ¹ԤƤȤޤ
   131 .LP
   131 .LP
   132 .RS 3
   132 .RS 3
   133 .TP 2
   133 .TP 2
   134 o
   134 o
   135 次のように、ホスト \f2nameserverhost\fP 上で \f2tnameserv\fP を起動します。 
   135 Τ褦ˡۥ \f2nameserverhost\fP  \f2tnameserv\fP ưޤ 
   136 .nf
   136 .nf
   137 \f3
   137 \f3
   138 .fl
   138 .fl
   139      tnameserv \-ORBInitialPort 1050
   139      tnameserv \-ORBInitialPort 1050
   140 .fl
   140 .fl
   142 .fl
   142 .fl
   143 \fP
   143 \fP
   144 .fi
   144 .fi
   145 .TP 2
   145 .TP 2
   146 o
   146 o
   147 \f2serverhost\fP 上でサーバーを起動します。 
   147 \f2serverhost\fP ǥСưޤ 
   148 .nf
   148 .nf
   149 \f3
   149 \f3
   150 .fl
   150 .fl
   151      java Server \-ORBInitialPort 1050 \-ORBInitialHost nameserverhost
   151      java Server \-ORBInitialPort 1050 \-ORBInitialHost nameserverhost
   152 .fl
   152 .fl
   153 \fP
   153 \fP
   154 .fi
   154 .fi
   155 .TP 2
   155 .TP 2
   156 o
   156 o
   157 \f2clienthost\fP 上でクライアントを起動します。 
   157 \f2clienthost\fP ǥ饤Ȥưޤ 
   158 .nf
   158 .nf
   159 \f3
   159 \f3
   160 .fl
   160 .fl
   161      java Client \-ORBInitialPort 1050 \-ORBInitialHost nameserverhost
   161      java Client \-ORBInitialPort 1050 \-ORBInitialHost nameserverhost
   162 .fl
   162 .fl
   164 .fi
   164 .fi
   165 .RE
   165 .RE
   166 
   166 
   167 .LP
   167 .LP
   168 .SS 
   168 .SS 
   169 \-J オプション
   169 \-J ץ
   170 .LP
   170 .LP
   171 このコマンド行オプションは、\f2tnameserve\fP とともに使用できます。 
   171 Υޥɹԥץϡ\f2tnameserve\fP ȤȤ˻ѤǤޤ 
   172 .RS 3
       
   173 
       
   174 .LP
       
   175 .RS 3
   172 .RS 3
   176 .TP 3
   173 .TP 3
   177 \-Joption 
   174 \-Joption 
   178 Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。\f3\-J\fP を使って背後の実行環境にオプションを渡すことはよく行われています。 
   175 Java ۥޥ \f2option\fP Ϥޤ\f2option\fP ˤϡjava(1)Υե󥹥ڡ˵ܤƤ륪ץ 1 ĻꤷޤȤС\f3\-J\-Xms48m\fP Ȼꤹȡȥåץ꡼ 48M ХȤꤵޤ\f3\-J\fP Ȥäظμ¹ԴĶ˥ץϤȤϤ褯ԤƤޤ 
   179 .RE
   176 .RE
   180 
   177 
   181 .LP
   178 .LP
   182 .RE
   179 .SH "Java IDL ͡ॵӥ"
   183 .SH "Java\ IDL 一時ネームサービスの停止"
   180 .LP
   184 .LP
   181 .LP
   185 .LP
   182 Java IDL ͡ॵӥߤˤϡUnix ξϡ\f2kill\fP ʤɤΥڥ졼ƥ󥰥ƥΥޥɤȤWindows ξϡ\f2Ctrl\-C\fP Ȥޤ͡ॵӥŪߤޤǤϡƤӽФԵ֤³ޤʤӥλȡJava IDL ͡ॵӥϿƤ̾ϼޤ
   186 Java IDL ネームサービスを停止するには、Unix の場合は、\f2kill\fP などのオペレーティングシステムのコマンドを使い、Windows の場合は、\f2Ctrl\-C\fP を使います。ネームサービスを明示的に停止するまでは、呼び出し待機状態が続きます。なお、サービスを終了させると、Java\ IDL ネームサービスに登録されている名前は失われます。
   183 .LP
   187 .LP
   184 .SH "ץ륯饤: ֤̾ؤΥ֥Ȥɲ"
   188 .SH "サンプルクライアント:名前空間へのオブジェクトの追加"
   185 .LP
   189 .LP
   186 .LP
   190 .LP
   187 ˼ץץϡ֤̾̾ɲäˡ򼨤ΤǤΥץץϡΤޤޤξ֤Ǵư͡ॵӥ饤ȤǡΤ褦ñʥĥ꡼ΤǤ
   191 次に示すサンプルプログラムは、名前を名前空間に追加する方法を示すものです。このサンプルプログラムは、このままの状態で完全に動作する一時ネームサービスクライアントで、次のような単純なツリーを作成するものです。
       
   192 .LP
   188 .LP
   193 .nf
   189 .nf
   194 \f3
   190 \f3
   195 .fl
   191 .fl
   196 \fP\f3
   192 \fP\f3
   197 .fl
   193 .fl
   198                   \fP\f4初期\fP\f3
   194                   \fP\f4\fP\f3
   199 .fl
   195 .fl
   200                \fP\f4ネーミングコンテキスト\fP\f3
   196                \fP\f4͡ߥ󥰥ƥ\fP\f3
   201 .fl
   197 .fl
   202                   /      \\ 
   198                   /      \\ 
   203 .fl
   199 .fl
   204                  /        \\ 
   200                  /        \\ 
   205 .fl
   201 .fl
   213 .fl
   209 .fl
   214 .fi
   210 .fi
   215 
   211 
   216 .LP
   212 .LP
   217 .LP
   213 .LP
   218 この例で、\f3plans\fP はオブジェクト参照、\f3Personal\fP は \f3calendar\fP と \f3schedule\fP の 2 つのオブジェクト参照を含むネーミングコンテキストです。
   214 ǡ\f3plans\fP ϥ֥Ȼȡ\f3Personal\fP  \f3calendar\fP  \f3schedule\fP  2 ĤΥ֥ȻȤޤ͡ߥ󥰥ƥȤǤ
   219 .LP
   215 .LP
   220 .nf
   216 .nf
   221 \f3
   217 \f3
   222 .fl
   218 .fl
   223 import java.util.Properties;
   219 import java.util.Properties;
   240 .fl
   236 .fl
   241 \fP
   237 \fP
   242 .fi
   238 .fi
   243 
   239 
   244 .LP
   240 .LP
   245 前述の「Java IDL 一時ネームサービスの起動」で、ネームサーバーはポート 1050 を使用して起動しました。 次のコードで、このポート番号をクライアントプログラムに知らせます。 
   241 ҤΡJava IDL ͡ॵӥεưפǡ͡ॵСϥݡ 1050 ѤƵưޤΥɤǡΥݡֹ򥯥饤ȥƥΤ餻ޤ 
   246 .nf
   242 .nf
   247 \f3
   243 \f3
   248 .fl
   244 .fl
   249         Properties props = new Properties();
   245         Properties props = new Properties();
   250 .fl
   246 .fl
   256 .fl
   252 .fl
   257 \fP
   253 \fP
   258 .fi
   254 .fi
   259 
   255 
   260 .LP
   256 .LP
   261 次のコードでは、初期ネーミングコンテキストを取得し、それを \f3ctx\fP に代入します。2 行目では、\f3ctx\fP をダミーのオブジェクト参照 \f3objref\fP にコピーします。 この \f3objref\fP には、あとでさまざまな名前を割り当てて名前空間に追加します。 
   257 ΥɤǤϡ͡ߥ󥰥ƥȤ \f3ctx\fP ޤ2 ܤǤϡ\f3ctx\fP ߡΥ֥Ȼ \f3objref\fP ˥ԡޤ objref ˤϡȤǤޤޤ̾Ƥ֤̾ɲäޤ 
   262 .nf
   258 .nf
   263 \f3
   259 \f3
   264 .fl
   260 .fl
   265         NamingContext ctx =
   261         NamingContext ctx =
   266 .fl
   262 .fl
   272 .fl
   268 .fl
   273 \fP
   269 \fP
   274 .fi
   270 .fi
   275 
   271 
   276 .LP
   272 .LP
   277 次のコードでは、text 型の名前 plans を作成し、それをダミーのオブジェクト参照にバインドします。その後、\f2rebind\fP を使用して初期ネーミングコンテキストの下に "plans" を追加しています。\f2rebind\fP メソッドを使用すれば、\f2bind\fP を使用した場合に発生する例外を発生させずに、このプログラムを何度も繰り返し実行できます。 
   273 ΥɤǤϡtext ̾ plans ߡΥ֥ȻȤ˥Хɤޤθ塢rebind Ѥƽ͡ߥ󥰥ƥȤβ \f2plans ɲäƤޤ\fP \f2rebind\fP ᥽åɤѤСbind Ѥȯ㳰ȯˡ \f2Υץ٤֤ⷫ¹ԤǤޤ\fP 
   278 .nf
   274 .nf
   279 \f3
   275 \f3
   280 .fl
   276 .fl
   281         NameComponent nc1 = new NameComponent("plans", "text");
   277         NameComponent nc1 = new NameComponent("plans", "text");
   282 .fl
   278 .fl
   290 .fl
   286 .fl
   291 \fP
   287 \fP
   292 .fi
   288 .fi
   293 
   289 
   294 .LP
   290 .LP
   295 次のコードでは、directory 型の Personal というネーミングコンテキストを作成します。その結果得られるオブジェクト参照 \f3ctx2\fP をこの名前にバインドし、初期ネーミングコンテキストに追加します。 
   291 ΥɤǤϡdirectory  Personal Ȥ͡ߥ󥰥ƥȤޤη륪֥Ȼ \f3ctx2\fP 򤳤̾˥Хɤ͡ߥ󥰥ƥȤɲäޤ 
   296 .nf
   292 .nf
   297 \f3
   293 \f3
   298 .fl
   294 .fl
   299         NameComponent nc2 = new NameComponent("Personal", "directory");
   295         NameComponent nc2 = new NameComponent("Personal", "directory");
   300 .fl
   296 .fl
   308 .fl
   304 .fl
   309 \fP
   305 \fP
   310 .fi
   306 .fi
   311 
   307 
   312 .LP
   308 .LP
   313 残りのコードでは、ダミーのオブジェクト参照を schedule と calendar という名前でネーミングコンテキスト "Personal" (\f3ctx2\fP) にバインドします。 
   309 ĤΥɤǤϡߡΥ֥ȻȤ schedule  calendar Ȥ̾ǥ͡ߥ󥰥ƥ "Personal" (\f3ctx2\fP) ˥Хɤޤ 
   314 .nf
   310 .nf
   315 \f3
   311 \f3
   316 .fl
   312 .fl
   317         NameComponent nc3 = new NameComponent("schedule", "text");
   313         NameComponent nc3 = new NameComponent("schedule", "text");
   318 .fl
   314 .fl
   348 .fl
   344 .fl
   349 \fP
   345 \fP
   350 .fi
   346 .fi
   351 
   347 
   352 .LP
   348 .LP
   353 .SH "サンプルクライアント:名前空間のブラウズ"
   349 .SH "ץ륯饤: ֤̾Υ֥饦"
   354 .LP
   350 .LP
   355 .LP
   351 .LP
   356 次のサンプルプログラムでは、名前空間をブラウズする方法を示します。
   352 ΥץץǤϡ֤֥̾饦ˡ򼨤ޤ
   357 .LP
   353 .LP
   358 .nf
   354 .nf
   359 \f3
   355 \f3
   360 .fl
   356 .fl
   361 import java.util.Properties;
   357 import java.util.Properties;
   378 .fl
   374 .fl
   379 \fP
   375 \fP
   380 .fi
   376 .fi
   381 
   377 
   382 .LP
   378 .LP
   383 前述の「Java IDL 一時ネームサービスの起動」で、ネームサーバーはポート 1050 を使用して起動しました。 次のコードで、このポート番号をクライアントプログラムに知らせます。 
   379 ҤΡJava IDL ͡ॵӥεưפǡ͡ॵСϥݡ 1050 ѤƵưޤΥɤǡΥݡֹ򥯥饤ȥƥΤ餻ޤ 
   384 .nf
   380 .nf
   385 \f3
   381 \f3
   386 .fl
   382 .fl
   387 
   383 
   388 .fl
   384 .fl
   398 .fl
   394 .fl
   399 \fP
   395 \fP
   400 .fi
   396 .fi
   401 
   397 
   402 .LP
   398 .LP
   403 次のコードでは、初期ネーミングコンテキストを取得しています。 
   399 ΥɤǤϡ͡ߥ󥰥ƥȤƤޤ 
   404 .nf
   400 .nf
   405 \f3
   401 \f3
   406 .fl
   402 .fl
   407         NamingContext nc =
   403         NamingContext nc =
   408 .fl
   404 .fl
   412 .fl
   408 .fl
   413 \fP
   409 \fP
   414 .fi
   410 .fi
   415 
   411 
   416 .LP
   412 .LP
   417 \f2list\fP メソッドは、ネーミングコンテキストに追加されているバインディングをリストします。この場合、最大 1000 個までのバインディングが初期ネーミングコンテキストから BindingListHolder に返されます。 残りのバインディングは、BindingIteratorHolder に返されます。 
   413 \f2list\fP ᥽åɤϡ͡ߥ󥰥ƥȤɲäƤХǥ󥰤ꥹȤޤξ硢 1000 ĤޤǤΥХǥ󥰤͡ߥ󥰥ƥȤ BindingListHolder ֤ޤĤΥХǥ󥰤ϡBindingIteratorHolder ֤ޤ 
   418 .nf
   414 .nf
   419 \f3
   415 \f3
   420 .fl
   416 .fl
   421         BindingListHolder bl = new BindingListHolder();
   417         BindingListHolder bl = new BindingListHolder();
   422 .fl
   418 .fl
   428 .fl
   424 .fl
   429 \fP
   425 \fP
   430 .fi
   426 .fi
   431 
   427 
   432 .LP
   428 .LP
   433 次のコードでは、返された BindingListHolder からバインディングの配列を取得します。バインディングがない場合は、プログラムは終了します。 
   429 ΥɤǤϡ֤줿 BindingListHolder Хǥ󥰤ޤХǥ󥰤ʤϡץϽλޤ 
   434 .nf
   430 .nf
   435 \f3
   431 \f3
   436 .fl
   432 .fl
   437         Binding bindings[] = bl.value;
   433         Binding bindings[] = bl.value;
   438 .fl
   434 .fl
   442 .fl
   438 .fl
   443 \fP
   439 \fP
   444 .fi
   440 .fi
   445 
   441 
   446 .LP
   442 .LP
   447 残りのコードでは、バインディングに対してループ処理を行い、名前を出力します。 
   443 ĤΥɤǤϡХǥ󥰤Фƥ롼׽Ԥ̾Ϥޤ 
   448 .nf
   444 .nf
   449 \f3
   445 \f3
   450 .fl
   446 .fl
   451         for (int i=0; i < bindings.length; i++) {
   447         for (int i=0; i < bindings.length; i++) {
   452 .fl
   448 .fl