1

サードパーティのスタンドアロンJavaプログラムがあります。複数のスレッドを介してこのプログラムを呼び出して並列実行を実現するJavaクライアントから実行したいと思います。課題は、このサードパーティプログラムが環境変数から構成パラメータを読み取ることです。並列スレッドが互いの構成をオーバーライドすることを望まない。また、私のクライアントとこのサードパーティプログラムはどちらもJavaで記述されているため、複数のJVMプロセスの作成を回避できれば、大きな付加価値が得られます。

4

1 に答える 1

1

を使用して、メソッドProcessBuilderによって返されるマップにデータを入力できます。environment()

ProcessBuilder builder = new ProcessBuilder("java -cp . Foo");
Map<String, String> environment = builder.environment();
environment.put("Foo", "Bar");
environment.put("X", "Y");
Process process = builder.start();

各プロセスには独自の環境があるため、これは安全なはずです。

または、を使用することもできますRuntime.exec

于 2013-03-07T04:18:54.050 に答える