Java WebStartは複数のインスタンスを禁止する

WebStartアプレットは、2つのブラウザまたは2つのブラウザタブ/ウィンドウでは機能しません。したがって、私はアプレットの複数のインスタンスを実行することを許可したくありません。

アプレットの2番目のインスタンスが実行されないようにする方法や、新しいアプレットの初期化中にアプレットのインスタンスが既に実行されているかどうかを知っている人はいますか?

2
アプレットが埋め込まれているのはなぜですか? JWSを使用して起動するとフリーフローティングになり、 SingleInstanceService が正常に動作するはずです。
追加された 著者 Andrew Thompson,

1 答え

SingleInstanceService ここの例を参照してください。

しかし、インスタンスを後で登録解除することを忘れないでください。だから、より良い方法(それはハックです:))は、最初にTCPポートを聞いてみることです。失敗した場合は起動しません。このようにして、TCPポートがOSによって自動的に閉じられるため、終了する前にTCPポートの受信を忘れた場合でも、「登録解除」されます。

3
追加された
自己紹介の例を参照ここを参照してください。私は埋め込みアプレットでそれをテストしたことはありません。
追加された 著者 Andrew Thompson,