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

2つのマシン上でHello Worldチュートリアルを実行可能にするには、チュートリアルの手順に従ってください。このチュートリアルには、次のような変更点があります。このチュートリアルはJava SE用に記述されています。この例では、クライアント、スタブおよびスケルトンはクライアント・マシンに配置されており、サーバーおよびネーム・サーバーはサーバー・マシンに配置されています。このシナリオは、必要に合わせて変更したり、アプリケーションを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には、ネーム・サービスも含まれています。Solaris、LinuxまたはMac OS Xでは、次のようにします。
       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, 2020, Oracle and/or its affiliates. All rights reserved.