2011-10-19 12 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){ 
    //; 
}