2016-07-17 5 views
2

私はjava(jdk5)corbaクライアントを開発して、NotificationIRP予防的イベントをサーバーから受信しました。私の下のコードは、単一のネットワークカードで正常に動作しています。クライアントシステムに複数のネットワークインターフェイスがある場合は、常に間違ったネットワークカードを選択してコールバックし、クライアントへの接続に失敗しました。私はorbに-ORBEndpoint引数を指定してみました。しかし、まだ成功はありません。複数のネットワークインターフェイスでcorbaクライアントコールバックの問題。特定のネットワークインターフェイスにバインドする方法

 String[] args = new String[2]; 

     args[0]="-ORBEndpoint"; 
     args[1]="iiop://10.106.90.50:9090"; // client eth0    
     ORB orb = ORB.init(args, null); 

答えて

0

Java 5のライフサイクルは長い間終了しています。今はJava 8を使用しているはずです。

使用しているCORBA Java実装はどれですか? Java自体とバンドルするCORBAの実装には、多くの制限があります。

私はあなたにチェックアウトすることを提案します。JacORB http://www.jacorb.org/それはまだアクティブで使用されているJacORBのもう一つのJavaの実装です。

最新のJacORBがJava 5で動作するかどうかはわかりませんが、そこでいくつかの調査を行う必要があります。

JacORBの設定が完了したら、そのドキュメントをご覧ください。 http://www.jacorb.org/documentation.html特に、 'Listen Endpoints'と 'Network Configuration'セクションにあります。そこから必要な答えが得られるはずです。

1

まず、ポート番号は指定せず、IPアドレスのみを指定してください。ポート番号は、ORBによってランダムに選択されます。

次に、あなたは、このJavaプロパティを設定することができます。

-Dcom.sun.CORBA.ORBServerHost=<IP address> 

またはあなたが本当にそれをハードコーディングする場合:

Properties p = new Properties(); 
p.put("com.sun.CORBA.ORBServerHost", "10.106.90.50"); 
ORB orb = ORB.init(args, p); 

ORBEndpointはomniORBのための、ない日/ Oracleの構成ですJava ORB。

関連する問題