2つのプログラムを作りたいです。プログラム1は静的なコレクションと、その値にアクセス/更新するいくつかのゲッター/セッターを持ちます。他のプログラムの静的変数へのアクセス方法
プログラム2がprogram1のgetter/setterにアクセス/呼び出しできるようにします。多くのプログラム/プロセス間で静的なコレクションを共有することができます。
* どのポートにも関与したくありません。
2つのプログラムを作りたいです。プログラム1は静的なコレクションと、その値にアクセス/更新するいくつかのゲッター/セッターを持ちます。他のプログラムの静的変数へのアクセス方法
プログラム2がprogram1のgetter/setterにアクセス/呼び出しできるようにします。多くのプログラム/プロセス間で静的なコレクションを共有することができます。
* どのポートにも関与したくありません。
変数を静的(または超静的)として宣言するだけでは、プログラム外のコードで使用できるとは思えません。そのようには機能しません。必要なのは、ある種のプロセス間通信です。可能性は無限です。 - ファイル(ローカルまたはネットワーク上)とシリアル化/デシリアライズ - ソケット(ローカルホスト上の2つのポート間のネットワーク接続を開きます) - データベース - 共有メモリ可能なOSによって異なります) あなたの選択したOSは他の手段を提供するかもしれませんが、原則は同じです:変数が変更されるたびに、1つのアプリケーションが別のアプリケーションに通知する必要があります。
これは静的変数だけでは実行できません。彼らはあなたのプログラムが走っているJVMのどこにでもアクセスできますが、それは簡単にはアクセスできません。このプロセス間通信を処理するには、RMI、ソケット、または入力ストリームを使用します。
これを行うにはストレートな方法はありません。 RMIまたはCORBAが動作するはずです。しかし、それは過剰なものになるでしょう。普通の古いソケットを使って、Javaアプリケーション間で通信することができます。または、java.nioチャネルを使用します。