質問: JavaFXで複数のアプリケーションの開発を行なっています。 開発しているアプリケーションを、仮にapp1、app2とします。 ###### 実現したいこと * app1のjnlpをクリックし、アプリケーションを起動する。 * app2のjnlpをクリックし、アプリケーションを起動する。 * **app1が起動している状態でapp2の起動時に、「他のアプリケーションが起動している為、開けません。」とエラーを出したい。** ###### 試したこと * javafx.jnlp.SingleInstanceServiceを用いて、制御してみたが同じjnlpの起動の制御しかできなかった。(app1起動後app1起動の時だけ) よろしくお願いいたします。
回答: Javaでのプロセス間の排他制御は、ファイルロックが使えます。 参考: mainメソッドでファイルをロックできたら起動する、ロックできなかったらエラーを出して終了します。 起動を排他したいのであれば、ファイルはずっとロックしたままで良いでしょう。終了したらロックは解除されるはずです。