Java Apache CXF超时无法在峰值流量上工作

Java Apache CXF超时无法在峰值流量上工作,java,soap,timeout,cxf,Java,Soap,Timeout,Cxf,我很难找到soap调用超时有时被忽略的根本原因。我也不能在本地复制它 它仅在高峰时间/高负载时在生产服务器上发生。超时是在非高峰时间工作 下面是如何在代码上设置超时 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.setServiceClass(serviceClass); factory.setAddress(address); Object object = factory.create(); Cli

我很难找到soap调用超时有时被忽略的根本原因。我也不能在本地复制它

它仅在高峰时间/高负载时在生产服务器上发生。超时是在非高峰时间工作

下面是如何在代码上设置超时

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(serviceClass);
factory.setAddress(address);

Object object = factory.create();
Client client = ClientProxy.getClient(object);
HTTPConduit http = (HTTPConduit) client.getConduit();

HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setReceiveTimeout(10000);
httpClientPolicy.setConnectionTimeout(25000);
httpClientPolicy.setAllowChunking(false);
http.setClient(httpClientPolicy);
Apache cxf 2.2.5是正在使用的库

更新库可能不是一个选项,因为这是一个旧项目,更新可能会中断或带来更多问题


有什么想法吗?

间歇性故障很难第一人称解决。其他人更是如此。你能再给我一些故障分析吗?只是一个猜测,增加线程监控超时的优先级。一个快速的google并没有显示如何专门针对cxf库上的超时修改线程优先级。我可能错了,但我会检查文档。我相信超时实现不能被修改,除非我们修改库本身,如果是这样的话,我很确定项目不会允许它。