2013-10-18 6 views
16

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

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

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

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

は、Java WebStartのリリースは、私たちのバージョンのhttp://docs.oracle.com/javase/7/docs/technotes/guides/jweb/enhancements-7.htmlノートチェック:。我々は、遅延の原因は何ができるかを見つけることを試みた

これまでのところ、動作を引き起こすものは何もありません。新しいマニフェストエントリ(パーミッション、コードベース、アプリケーション名)があることに気付きました。これらは追加されました。

Googleとstackoverflowのすべてを検索しました。

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

使用済みタフなツール

は、私たちは、アプリは、時間の言っ分で何を知りたいと思いました。そこで、プロセスエクスプローラとプロセスモニタをsysinternalsとwiresharkから使用しました。私たちは待ち時間の間に、プロセスがIP経由で 'vip1.g-anycast1.cachefly.net'(205.234.175.175)と93.184.220.29と通信しようとしていることを発見しました。後者は証明書サーバーのようですが、私は実際にそのキャッシュフライの内容を理解していませんでした。どちらの場合も、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> 

答えて

11

はい、atulsmの答えが正しいキックを与えました。しかし、読んでください:私はヒントに従おうとしましたが、Javaコントロールパネルでエントリが既に無効になっていたため(ダニが設定されていなかったため)、見栄えが悪くなりました。 を設定すると、目盛りが一時的にしか表示されませんでした(WebStartアプリケーションが実行されてもう一度終了すると、設定は選択されなくなりました)ので、設定がJavaの設定ファイルに正しく書き込まれていないようです。

最後に、Deployment Configuration Fileを確認し、展開のプロパティでdeployment.security.revocation.check=NO_CHECKを手動で設定しました。それは問題を解決しました!

+0

ありがとうございました。 – Blackvault

2

私はこの問題を経験しているし、それが原因で、デフォルトで強制証明書失効チェックのでした。それを無効にする(高度なタブ=>証明書の取り消しチェックを実行する ")、それはうまくいくはずです!

関連する問題