2011-10-19 20 views
0

我有一個web應用程序與小程序訪問cxf ws服務器。 當我地初始化連接到CXF WS,有這麼多的髒消息(約爲1000線,成本約2分鐘至INIT)如:小應用程序中的cxf客戶端導致許多重複加載罐

 
network: Connecting \http://localhost:8080/WebUI/DYVCenterVNCClient.jar with proxy=DIRECT 
network: Connecting \http://localhost:8080/WebUI/DYVCenterVNCClient.jar and cookie "JSESSIONID=F7DF490E4E7137857494B453667A079E" 
network: Connecting \http://localhost:8080/WebUI/DYVCenterVNCClient.jar with proxy=DIRECT 
network: Connecting \http://localhost:8080/WebUI/DYVCenterVNCClient.jar and cookie "JSESSIONID=F7DF490E4E7137857494B453667A079E" 

的HTML小應用程序配置爲:

<object type="application/x-java-applet" 
     name="TestApplet" width="446" height="291"> 
    <param name="codebase" value="." /> 
    <param name="code" value="com.vnc.CompatibilityApplet" /> 
    <param name="archive" value="DYVCenterVNCClient.jar" /> 
    <PARAM NAME="cache_archive" VALUE="DYVCenterVNCClient.jar"> 
    <PARAM NAME="cache_version" VALUE="0.0.0.1"> 
    <PARAM name="codebase_lookup" value="false"> 
    <param name="scriptable" value="true" /> 
    <param name="mayscript" value="true" /> 
    <param name="background-color" value="#ffffff" /> 
    <param name="border-color" value="#8c8cad" /> 
</object> 

當我調用cxf類ClientProxyFactoryBean的方法create()時,我發現這些消息被打印出來。

所以我怎麼能解決這些問題,我也googing,發現類似的問題鏈接: http://cxf.547215.n5.nabble.com/CXF-based-applet-initialization-worries-td550944.html 但沒有答案

感謝大家。

+0

我donnot要使用JNLP方法醜陋的下載JNLP文件明確 – herry

+0

這不是遍地下載CXF,它的下載你。我懷疑這與CXF有什麼關係。並且該電子郵件是*古代*。您可以嘗試CXF用戶列表。 – bmargulies

+0

我使用參數 來記錄一些對屬性文件的請求,比如'http:// localhost:8080/WebUI/org/apache/cxf/common /logging/Messages.properties' – herry

回答

0

嗯,最後我發現這個網址
Applet downloading server copy of jars already cached告訴我們,URLConnectiondefaultUsecaches是用了假更新。
因此,即使插件本身設置爲「使用緩存」,urlconnection也不會使用緩存。

我搜索的方法setDefaultUseCaches(false)在CXF SRC,最後我發現JDKBugHacks的方法doHacks()將設置defaultUseCache到false.And似乎JDK的錯誤,這讓我困惑。

終於我解決了我的問題,改變了新的ClientProxyFactoryBean後的defaultUsecaches。

try{ 
    URL url = new URL("any valid url is ok"); 
    URLConnection urlConnection = url.openConnection(); 
    urlConnection.setDefaultUseCaches(true); 
}catch(Exception e){ 
    //; 
}