当前位置: 首页 > 知识库问答 >
问题:

当响应延迟时,Cxf 客户端花费的时间太长

长孙骏
2023-03-14

我将cxf库用于web服务客户端。

当响应延迟了大约5秒时,cxf需要大约20秒来返回响应。ws返回33912长响应。

不过,客户对快速响应没有问题。

我找不到问题所在。我测试了wsendpoint,它在8秒内返回最大值。但cxf客户端有时需要30-50秒。

我打开了调试日志,这两行之间需要9秒

2018-01-11 17:17:14.022调试10492--[nio-8086-exec-6]o.apache.cxf.transport.http。HttpConduct:将带有头的POST消息发送到http://example.com/service导管:{http://example.com./}示例WebServicePort.http-conduction

2018-01-11 17:17:23.370 DEBUG 10492-[nio-8086-exec-6]org . Apache . cxf . endpoint . client impl:由bus贡献的拦截器:[org . Apache . cxf . ws . policy . policy in interceptor @ 3ec 595 ab]

这是客户端:

HTTPConduit httpConduit = (HTTPConduit) client.getConduit();
            httpConduit.setAuthSupplier(null);
            httpConduit.setAuthorization(null);
            HTTPClientPolicy clientPolicy = new HTTPClientPolicy();
            clientPolicy.setConnectionTimeout(60000L);
            clientPolicy.setReceiveTimeout(60000L);
            httpConduit.setClient(clientPolicy);

什么可能导致此问题?

共有1个答案

洪德寿
2023-03-14

问题是我认为服务器响应很快,但是我用错误的endpoint进行测试。< br >当我测试correct endpoint时,我意识到服务器确实响应较晚。< br >客户端的响应时间与服务器的响应时间相匹配。

 类似资料:
  • 我的数据库里有近10000条记录。当查询没有连接时,通过PHP发送到mysql的查询工作速度非常快。但是当我们使用左外联接连接表时,它的速度非常慢。 这是我的疑问。 请告诉我如何优化我的查询。提前道谢。

  • 只是想知道有没有办法得到spring Web-Flux的web客户端的响应时间?

  • 问题内容: 我有一本书得很长。我使用setText()方法在JTextArea中显示它。它冻结了UI,并花费大量时间。我该如何解决? 这是SSCCE: 问题答案: 在与构造GUI分开的单独线程中创建DefaultStyledDocument似乎是创建巨大文本区域的最快方法。DefaultStyledDocument是线程安全的。 这是我用来测试DefaultStyledDocument的代码。我用

  • 问题内容: SQL: 用户索引: 个人资料索引 解释 : 上面的查询大约需要0.1221 我怎样才能使其运行更快? 问题答案: 我删除了此查询,因此搜索完成后不会显示总结果数。 似乎是临时解决方案,甚至是永久解决方案。

  • 我使用CXF和JAX-RS构建RESTFul API,为我的web应用程序提供数据。我想知道是否有可能记录请求X到达我的API、被处理然后作为响应返回所花费的时间。 我已经将自己的CXF记录器定义为JAX-RS特性,因为<code> 有没有一种方法可以从客户端跟踪时间并记录下来?

  • 问题内容: 我想知道一段时间后如何调用函数。我已经尝试过time.sleep(),但是这会暂停整个脚本。我希望脚本继续进行,但是??? secs之后调用一个函数并同时运行其他脚本 问题答案: 看一看。它在新线程中运行您的函数。