2012-04-30 2 views
1

後にキャッシュからJava Jarファイルを削除します。私たちは、瓶のパッケージにバンドルおよびJava WebStartのを使用してホスト・マシンにダウンロードされ、集中型サーバとクライアントを使用してJava RMIのアプリケーションを開発しました。ホストマシン上にクライアントアプリケーションがキャッシュされるため、ITAR関連の問題が発生する可能性があります。ユーザーがクライアントアプリケーション(jar)を実行してマシンから削除し、ユーザーがラップトップを国際的なビジネスのために旅行した場合など残存物が存在しないようにしたいと考えています。が実行

は、Java WebStartのを伝えるためにどのような方法は、「このファイルをキャッシュしないでください。」、ありますか?これは各クライアントマシンで行うことができますが、私たちの組織はユーザーではなくITARセキュリティを担当しているため、ユーザーのコンピュータにファイルが残らないようにシステムに組み込む必要があります。

ありがとうございます! 可能であれば

答えて

3

Java Web Startは常に、キャッシュからアプリケーションを起動します、そして、それは同時に 更新のためにサーバとバックグラウンドチェックを実行します。アップデートが利用可能な場合は、ユーザに を通知し、次回にアップデートバージョンを起動します。このアプローチ は、更新がない一般的な場合には、高速起動時間を確保 し、また、アプリケーションがオフラインで起動できることを確認します。

1.0リリースでは、クライアントのjavaws.cfgファイルに 行のjavaws.cfg.forceUpdate = trueを追加すると、この動作を上書きできます。この は、初めてJava Web Startが更新を確認するように強制します。 残念ながら、このフラグを設定すると、オフラインモードでは が正しく動作しなくなります。まだ起動 オフラインを維持しながら、Java Web Startは、将来のリリースでは

は、我々は、アップデートが利用可能な場合、アプリケーションの新しいバージョン を起動すぐにするためにチェックし、更新の 動作を変更することを期待

  1. は試してみてくださいjavaws.cfg.forceUpdate = falseを

  2. あなたがしようとすると、クライアント・マシン上のキャッシュフォルダを削除することができます。 https://stackoverflow.com/a/1517367/643500

  3. をチェックします。また、キャッシュの管理をカスタマイズするためにJNLPを変更することができます。 http://docs.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/examples.html

    import javax.jnlp.*; 
    
    DownloadService ds; 
    
    try { 
        ds = (DownloadService)ServiceManager.lookup("javax.jnlp.DownloadService"); 
    } catch (UnavailableServiceException e) { 
        ds = null; 
    } 
    
    if (ds != null) { 
        try { 
         // determine if a particular resource is cached 
         URL url = new URL("http://java.sun.com/products/javawebstart/lib/draw.jar"); 
         boolean cached = ds.isResourceCached(url, "1.0"); 
         // remove the resource from the cache 
         if (cached) { 
          ds.removeResource(url, "1.0"); 
         } 
         // reload the resource into the cache 
         DownloadServiceListener dsl = ds.getDefaultProgressWindow(); 
         ds.loadResource(url, "1.0", dsl); 
        } catch (Exception e) { 
         e.printStackTrace(); 
        } 
    } 
    
1

を読む私はそれを試したことがありませんが、あなたは「削除」で始まるメソッドに対してDownloadService method summaryに見えるかもしれません。

+0

アスカーは、私は、これは、各クライアントマシン上で行うことができます知っているが、我々の組織は、ITARのセキュリティではなく、ユーザーの責任ですので、我々は何のファイルが転がっていない残っていることを確認するために、システムに組み込むものが必要」と述べましたユーザーのコンピュータにインストールしてください。 –

+0

@ D3mon-1stVFWノイズが除去されました。 –