2010-11-20 26 views
0

CORBAを使用して移植するJava RMIアプリケーションがあります。そのためには、リモートインタフェースの定義をjavaからIDLに変更する必要がありますが、どうすればよいか正確には分かりません。IDLへのJavaインターフェイスの移植

現時点では、Javaインターフェイスのメソッドの1つに、定義済みのデータ型(string、intなど)ではなく、自分で定義したものがあるパラメータがあります。 Javaインターフェイスでは、そのようにそれを定義します。クライアントとサーバーの両方が彼らのビルド・パス上のクラスMyObjectにの定義を持っているので、オブジェクトのRMI実装通過で

public int doSomething(MyObject o); 

が可能となります。

long doSomething(in MyObject o); 

または私はこれを定義する必要があります:私は、クライアントとサーバーの両方でMyObjectにファイルを配置し、このような何かにIDLのメソッドの定義を変更した場合、それが動作するかどう

は、だから私は疑問に思ってクラスとそのメソッドは何とかIDLにもありますか?

答えて

1

idlモジュールにMyObjectをよく定義する必要があります。クライアントとサーバーのビルドパスにクラスを定義するだけでは不十分です。

+0

大丈夫ですが、どのように定義するのですか? typedefコマンドを使うべきですか? – dominos

+0

あなたはidlモジュールでインターフェイスを定義し、MyObjectを実装し、メソッドシグネチャがdoSomething(MyInterface)などになります。 – hhafez

+0

このMyInterfaceでは、サーバー上で使用されるオブジェクトのメソッドのみを定義する必要がありますまたはすべての方法?また、このオブジェクトクラスがjavaでこのインタフェースを実装するようにする必要がありますか? – dominos

3

rmic -idlはこれを行います。ツールのドキュメントを参照してください。

+0

そうです、それは簡単な方法だったでしょう。しかし、すでに手動でidlを手に入れました。 – dominos

関連する問題