Java アプリケーション「A」と別の Java アプリケーション「B」の間の通信を探しています。JNI、Webservices、その他のものから聞いたことがあります...
現在の状態: 私は 2 つの別個の Java アプリケーションを持っています。現時点では、両方を手動で開始でき、それぞれが非常にうまく機能しています。アプリケーションごとに、各関数とすべての副作用をチェックするテストクラスを作成しました...; アプリケーション B はインターフェイスを実装しているので、実行したい各関数 @ B を知っています! 各アプリケーションは、データ交換に同じインターフェースを使用します (将来)。
問題: 今、私はアプリケーション A を開始したいと考えています (それ自体で ~5 スレッドを開始します)。A は、定義されたパスですべての JAR ファイルを検索し、そのうちの 1 つを開始する必要があります (UI @ A による選択)。OK、これは私にとって大きな問題ではありません! 私の問題: ロードされた「JAR ファイル」とやり取りしたい (または、JAR ファイル内のアプリケーションとやり取りしたい)。
質問: 単純なツールやフレームワークを使用しないことで、どのように対話が可能になりますか? Web サービスは十分に動的ではないようです (私は Web サービスの専門家ではありません!)!?
私にとって重要なのは次の点です。
- 高速通信
- 外部ライブラリの動的読み込み (eq. 他の Java アプリケーション = B.) が必要です。
- パッケージ名をインポートするべきではありません (他の開発者にも公開したい)
- 他の開発者向けにオープン (彼らは私のインターフェースを実装する必要があるだけです)
より具体的に
- A はコントローラー / サーバー /etc です。バックグラウンドで多かれ少なかれ実行されます
- B (私のインターフェースの他のすべての実装) はゲームです。Aから起動、Aから制御、Aから停止