導入
OpenDDS は JNI バインディングを提供します。Java アプリケーションは、C++ アプリケーションと同様に、完全な OpenDDS ミドルウェアを使用できます。
前提条件や依存関係など、開始に関する情報については、ドキュメントを参照してください$DDS_ROOT/java/INSTALL
。
Java バージョン 9 以降では、Java Platform Module System を使用します。これらの Java バージョンで OpenDDS を使用するには、MPC 機能 java_pre_jpms を 0 に設定します。OpenDDS の configure スクリプトは、Java のバージョンを検出して自動的に設定しようとします。
Java バインディングを使用してアプリケーションを開発する際に発生する一般的な問題については、ドキュメントを参照してください$DDS_ROOT/java/FAQ
。
IDL とコード生成
OpenDDS Java バインディングは、1 つまたは 2 つの jar ファイルに存在する単なるライブラリではありません。
DDS 仕様は、DDS アプリケーションと DDS ミドルウェア間の相互作用を定義します。
特に、DDS アプリケーションは、アプリケーション開発者によって IDL で定義された厳密に型指定されたメッセージを送受信します。
アプリケーションがこれらのユーザー定義型に基づくミドルウェアとやり取りするには、コンパイル時にこの IDL に基づいてコードを生成する必要があります。
C++、Java、さらには追加の IDL コードを生成します。ほとんどの場合、アプリケーション開発者は、生成されたファイルのすべての詳細を気にする必要はありません。
OpenDDS に含まれるスクリプトはこのプロセスを自動化するため、生成されたすべてのコードを一緒に含むネイティブ ライブラリ (.so または .dll) と Java ライブラリ (.jar または単なるクラス ディレクトリ) が生成されます。
以下は、生成されたファイルと、それらを生成するために使用されるツールの説明です。
この例では、Foo.idl パッケージ