Java IDL: 2 つのマシン上での Hello World の例

2 つのマシン上で Hello World チュートリアルを実行可能にするには、チュートリアルの手順に従ってください。このチュートリアルには、次のような変更点があります。このチュートリアルは、Java (tm) 2 Platform, Standard Edition (J2Se(tm)), バージョン 1.4 用に記述されています。この例では、クライアント、スタブおよびスケルトンはクライアントマシンに配置されており、サーバーおよびネームサーバーはサーバーマシンに配置されています。このシナリオは、必要に合わせて変更したり、アプリケーションを 2 つのマシン間で分散する 1 つの方法の説明として参照したりすることができます。

  1. クライアントマシン上で Hello.idl ファイルを作成 (方法についてはチュートリアルを参照) およびコンパイルします。
       
       idlj -fall Hello.idl
    
  2. クライアントマシン上で HelloClient.java を作成します。HelloApp ディレクトリにあるスタブとスケルトンも含め、*.java ファイルをコンパイルします。
       javac *.java HelloApp/*.java
    
  3. サーバーマシン上で HelloServer.java を作成します。.java ファイルをコンパイルします。
       javac *.java
    
  4. サーバーマシン上で Java Object Request Broker Daemon (orbd) を起動します。orbd には、ネームサービスも含まれています。Unix では、次のようにします。
       orbd -ORBInitialPort 1050 -ORBInitialHost servermachinename&
    

    Windows では、次のようにします。

       start orbd -ORBInitialPort 1050 -ORBInitialHost servermachinename
    

    -ORBInitialPort および -ORBInitialHost は、両方とも orbd コマンド行で必須の引数です。Solaris では、1024 より低い番号のポートでプロセスを起動するにはルートになる必要があるため、この例はポート 1050 でネームサーバーを起動しています。別の nameserverport を使用する場合は、この例全体で 1050 を現在のポート番号に置き換えてください。

    orbd を使用する場合、サーバーを起動するマシン上で ORBD を実行する必要があります。サーバーを起動するマシンとは別のマシン上でネームサービスを実行する場合は、ネームサービスとして tnameserv を使用することができます。

  5. サーバーマシン上で Hello サーバーを起動するには、次のようにします。
       java HelloServer -ORBInitialPort 1050
    

    別の nameserverport を使用した場合は、1050 を正しいポート番号に置き換えてください。Hello サーバーは同一のホスト上 (この例ではネームサーバー) で実行されるため、引数 -ORBInitialHost を指定する必要はありません。ネームサーバーが別のマシン上で実行されている場合は、引数 -ORBInitialHost nameserverhost を使用して該当するマシンを指定する必要があります。

  6. クライアントマシン上で Hello アプリケーションクライアントを実行します。DOS プロンプトまたはシェルで、次のように入力します。
       java HelloClient -ORBInitialHost nameserverhost -ORBInitialPort 1050
    

    nameserverhost は、IDL ネームサーバーが稼動しているホストです。この場合は、サーバーマシンです。

    別の nameserverport を使用した場合は、1050 を正しいポート番号に置き換えてください。

  7. 完了したら、orbd を終了します。ネームサーバーを明示的に停止するまでは、呼び出し待機状態が続きます。

Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.