1

Webページのリンクを介してWeb StartからJavafxアプリケーションを開始しました。実行中のインスタンスがあり、別のインスタンスを開こうとすると、SingleInstanceService は正常に動作します。しかし、インスタンスが実行されていないときに、Web ページのリンクまたはデスクトップ リンクをダブルクリックすると、2 つのインスタンスが開始されます。

Windows 7、Java 7 u11

ログ ファイルを見ると、2 つのインスタンスが 100 ミリ秒以内に開始されていることがわかります。これは、最後に発生したインスタンスからのコンソール出力の一部です。

2013-01-29 14:03:17,246 [thread App-1]
 DEBUG App - SingleInstanceService found !

server running at port: 61065

temp: connect to: http://www.test.net/App.jnlp 61065

network: Connecting socket://127.0.0.1:61065 with proxy=DIRECT

temp: no server is running - continue launch!

basic: unique id: http://www.test.net//App.jnlp

basic: server port at: 61109

basic: getSingleInstanceFilename: C:\Users\me\AppData\LocalLow\Sun\Java\Deployment\tmp\si\http___www.test.net_App.jnlp-x86_61109

basic: file should be removed: C:\Users\me\AppData\LocalLow\Sun\Java\Deployment\tmp\si\http___www.test.net_App.jnlp-x86_61065

ご覧のとおり、web start は実際には最初のインスタンスの単一インスタンス ファイルを見つけますが、それを削除するだけです。

Java コントロール パネルでもこの​​手法が使用されていることがわかりました。また、単一インスタンス ファイルを配置します。C:\Users\me\AppData\LocalLow\Sun\Java\Deployment\tmp\si

JCP へのショートカットをデスクトップに配置すると、Enter キーを 2 回すばやく押すと、2 つのインスタンスを起動できます。

これはバグですか?どうすれば修正できますか?

4

0 に答える 0