0

私はコルバアプリケーションの構築に不慣れです。現在、Javaでcorbaアプリケーションを開発しています。私が抱えている問題は、クラスの名前、メソッド、および文字列として corba サーバーに渡す引数を受け取るメソッドを作成する必要があることです。リモート メソッドを呼び出す前に、文字列を解析して、必要なすべての情報 (クラス、メソッド、引数) を取得する必要があります。ここで問題はありません。しかし、引数に関しては、引数の型を事前に確認していないので、型を取得して引数を変換し、送信する Any オブジェクトに挿入できるはずです。それは可能ですか? seq.insert_string("bum") などのタイプを事前に知っていれば機能しますが、動的に実行したいと考えています。

4

1 に答える 1

1

ORBがサポートしている場合は、DynAnyインターフェイスを使用してください。彼らはあなたが望むことを正確に行うことができます。簡単に説明されたCORBAから:

any アプリケーションが、関連するスタブコードでコンパイルせずに、内に埋め込まれたデータを操作したい場合、アプリケーションはをに変換anyする必要がありDynAnyます。IDLコンストラクトごとにDynAnyのサブタイプがあります。たとえば、DynStruct、DynUnion、DynSequenceなどと呼ばれるタイプがあります。

DynAnyインターフェースの操作により、プログラマー はDynAny内に含まれる複合データ構造に再帰的にドリルダウンし、その結果、複合型を組み込み型である個々のコンポーネントに分解できます。DynAnyインターフェースの操作を使用して、組み込み型から複合データ構造を再帰的に構築することもできます。

于 2012-06-08T18:04:36.643 に答える