これは、2つのJVMが相互に通信することではなく、既存の実行中のJVMを「結合」して、追加のプロセスの作成を防ぐことです。
データ収集コンポーネント、GUIオペレーター・インターフェース、およびデータ・ロギング・コンポーネント(Java)を備えた制御システムを展開しています。
データロギングコンポーネントとGUIはどちらも、データ収集コンポーネントを利用します。通常は問題はありません。どちらも同じVMに存在し、イベントまたはオブザーバーパターンを介して更新を取得できます。問題は、マシンの起動時にデータロガーを実行する必要があることです(Linux)が、GUIはユーザーがログインしたときにのみ実行されます。データ収集コンポーネントの2つのインスタンスが作成されると(つまり、2つのJVMで)、通信に問題が発生します。この質問の範囲を超えている監視ですが、データ収集コンポーネントの1つのインスタンスのみを実行できるという要件があるとしましょう。
実行中の既存のVMでクラスをインスタンス化する方法はありますか?このクラスオブジェクトは、VM内のライブオブジェクトと対話できますか?私がやりたいのは、データロガーをデーモンとして実行し、1つのJVMを作成し、ユーザーがosにログオンしたときに、実行中のVMでGUIクラスをインスタンス化することです。