18

Java 1.7.0u45 をインストールして以来、WebStart アプリケーションは、Windows システムでの起動に大きな遅延を示しています (他のプラットフォームは試していません)。

症状は、デスクトップ上のアプリケーション アイコンをダブルクリックした後、スプラッシュ スクリーンがすぐに表示され、(以前と同じように) しばらく留まってから閉じることです。この後、約 1 分の遅延があります。そして最後に、アプリケーション ウィンドウが開き、すべてが魅力的に機能します。

私たちのアプリケーションは、Java 1.7.0u25 まで問題なく動作しました。Java 1.7.0u40 は、問題が発生した最初のバージョンです。

私たちのアプリは、単一の (実行可能な) jar ファイルから構築されています。最も重要な部分は、jar 内にあるシリアル ポート アクセス用のネイティブ クラスです。この投稿の最後に jnlp ファイルを追加しました。

遅延の原因を突き止めようとしました。

バージョンについては、 http: //docs.oracle.com/javase/7/docs/technotes/guides/jweb/enhancements-7.html にある Java WebStart リリース ノートを確認してください。

私たちが言える限り、動作を引き起こす可能性のあるものは何もありません. 新しいマニフェスト エントリ (アクセス許可、コードベース、アプリケーション名) があることに気付きました。これらが追加されました。

Googleとstackoverflow全体を見ました。

同様の問題を抱えている人もいますが、解決策はありません。多くの場合、jar ファイルのダウンロードやダウンロードの繰り返しに問題があります。これは私たちの問題ではないようです。

頑丈なツールを使用

このアプリがその時間内に何をするかを知りたかったのです。そこで、sysinternals と wireshark のプロセス エクスプローラーとプロセス モニターを使用しました。待機時間中に、プロセスが「vip1.g-anycast1.cachefly.net」(205.234.175.175) および 93.184.220.29 と IP 経由で通信しようとすることがわかりました。後者は証明書サーバーのようですが、キャッシュフライが何であるかはよくわかりませんでした。どちらの場合も、TCP syn が表示されますが、応答がなく、それ以上の通信はありません。どちらのアドレスも ping 可能です。

IP関連のものとは関係ありません:アプリケーションがダウンロードされたのではなく、キャッシュから開始され、メインが遅延の前ではなく遅延のに呼び出されることは確かです。

これが私たちが立ち往生しているところです

これを解決する方法についてさらにアイデアはありますか?この行動を経験しているのは私たちだけですか?

Jnlp (URL は手動で作り直されていることに注意してください):

<?xml version="1.0" encoding="UTF-8"?>
<jnlp  spec="6.0+" codebase="http://53.48.16.33:8180/jenkins/job/TcuTerm%20-%20Deploy/lastSuccessfulBuild/artifact/5000_Construction/5100_Code_Base/TcuTerm/antlocal" >
    <information>
      <title>TcuTerm</title>
      <vendor>Development</vendor>
      <icon                 href="http://53.48.16.33:8180/jenkins/job/TcuTerm%20-%20Deploy/lastSuccessfulBuild/artifact/5000_Construction/5100_Code_Base/TcuTerm/src/com/x/tcu/app/term/resources/tcu.jpg"/>
      <icon kind="shortcut" href="http://53.48.16.33:8180/jenkins/job/TcuTerm%20-%20Deploy/lastSuccessfulBuild/artifact/5000_Construction/5100_Code_Base/TcuTerm/src/com/x/tcu/app/term/resources/tcu.jpg"/>
      <icon kind="splash"   href="http://53.48.16.33:8180/jenkins/job/TcuTerm%20-%20Deploy/lastSuccessfulBuild/artifact/5000_Construction/5100_Code_Base/TcuTerm/src/com/x/tcu/app/term/resources/splash.jpg"/>
      <homepage href="https://confluence.detss.corpintra.net/display/TCU/TcuTerm"/>
      <offline-allowed/>
      <shortcut>
        <desktop/>
        <menu submenu="TcuTerm"/>
      </shortcut>
    </information>
    <security>
      <all-permissions/>
    </security>
    <resources>
      <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
      <jar href="TcuTerm.jar" main="true"/>
    </resources>
    <application-desc main-class="com.x.tcu.app.term.TcuTerminal"/>
    <update check="timeout"/>
 </jnlp>
4

3 に答える 3