2

JFrameまたはアプレットとして実行できるJavaアプリケーションがあります。

ブラウザでアプレットを起動すると、ブラウザに新しいタブが追加され、Javaコンソールも表示されます。両方を閉じた後、この操作を繰り返してJavaコンソールが再表示されることを期待しています。再表示されませんが、ブラウザでアプレットをリロードできます。

Firefoxによって起動されたこのゾンビjavaインタプリタプロセスを強制終了する必要があるたびに。

/usr/lib/jvm/java-6-sun-1.6.0.26/jre/bin/java -D__jvm_launched=22906841394 -Xbootclasspath/a:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/deploy.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/javaws.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/plugin.jar -Djava.class.path=/usr/lib/jvm/java-6-sun-1.6.0.26/jre/classes -Dsun.awt.warmup=true sun.plugin2.main.client.PluginMain write_pipe_name=/tmp/.com.sun.deploy.net.socket.1444.1704699298565364673.AF_UNIX

プロセスを強制終了すると、Javaコンソールが再表示されます。また、クロムを使用して再現手順を試しましたが、ゾンビプロセスのコマンドラインが異なることを除いて同じ結果です。

注意事項:

  • アプレットを含むブラウザタブを閉じると、アプレットは通常の状態にあり、ユーザーがUIでアクションを実行するのを待っています。
  • javaプロセスはブラウザプロセスの子であるため、アプレットの再起動の間にブラウザを完全に閉じると、問題も修正されます。

誰かが説明や回避策を持っていますか?ありがとう!

4

2 に答える 2

2

それはゾンビではありません。これは、何かがうまくいかないことを意味していると思います。これは、Java プラグインが常に機能する方法です。初めて必要になったときに起動します。設定によっては、コンソールを開く必要がある場合があります。その後、ブラウザがシャットダウンするまで実行され続けます。つまり、これはバグではなく機能です。

一部のブラウザーには、Java コンソールを開くためのメニュー項目が含まれています。それを使用して、何かを強制終了したり再起動したりせずに、必要に応じて再度開くことができます。

于 2012-01-02T01:39:57.770 に答える
2

誰にも説明や回避策がありますか?

回避策として、アプレット ビューアでテストします。(コンソールは、設計に大きな欠陥がない限り、製品には関係ありません。)

説明に関しては、ブラウザは必要に応じて JRE/コンソールを終了します。それをオーバーライドするのは、開発者またはアプレットの責任ではありません。通常、FF は、アプレット ページを離れた後、JRE を 30 ~ 60 秒間実行したままにしておくことに気付きました (コンソールがいつ消えるかで判断します)。

于 2012-01-02T01:41:35.047 に答える