xfire设置连接超时问题

基于Xfire实现webservice的超时设置 最近在做需求的时候,遇到一个问题,就是调用三方的服务,没有设置超时链接,影响了消息队列中消息的消费速度,进而导致消息队列消息有挤压。对此找到了一种设置连接超时的方法,适用于基于Xfire实现webservice的调用,具体如下: 1、新建HttpMessageSender import org.apache.commons.httpclient.params.HttpClientParams; 阅读详情

近期使用xfire作为客户端访问WS,结果因为目标主机假死,造成客户端一致无法返回,后续调用也无法进行。更悲催的是采用定时器轮询调用,结果整个定时器都阻塞无法执行后续任务。

跟踪了一下代码发现引起上诉问题的代码出现在此处(红色部分):

  1. public Client loadClient() throws MalformedURLException, Exception{  
  2.         <span style="color: #ff0000;">Client client = new Client(new URL(url));</span>  
  3.   
  4.   
  5.         client.setTimeout(20000);  
  6.         HttpClientParams params = new HttpClientParams();  
  7.         // 避免'Expect: 100-continue' handshake  
  8.         params.setParameter(HttpClientParams.USE_EXPECT_CONTINUE,Boolean.FALSE);  
  9.         //设置ws连接超时时间  
  10.         params.setParameter(HttpClientParams.CONNECTION_MANAGER_TIMEOUT, 20000l);  
  11.         client.setProperty(CommonsHttpMessageSender.HTTP_CLIENT_PARAMS,params);  
  12.         return client;  
  13.     }   

 在第一步实例化client时就已经阻塞了,后面的设置超时之类的都是浮云啊。

 

 

分析原因:

超时有很多种
1.连接超时,有以下情况
  IP不正确,服务器挂掉了,网络异常
2.读取数据超时

在此处引起问题应该是服务器挂掉了,最终原因是因为使用 xfire/HttpMethod 造成Socket连接池满。最终在网上找到了解决方案:

  1. URL _url = new URL(url);  
  2.         HttpURLConnection httpConnection = (HttpURLConnection)_url.openConnection();  
  3.         httpConnection.setReadTimeout(20000);//设置http连接的读超时,单位是毫秒  
  4.   
  5.         httpConnection.connect();  
  6.         Client _client = new Client(httpConnection.getInputStream(), null);  
  7.         _client.setProperty(CommonsHttpMessageSender.HTTP_TIMEOUT, String.valueOf( 20000 ));//设置发送的超时限制,单位是毫秒;  
  8.         _client.setProperty(CommonsHttpMessageSender.DISABLE_KEEP_ALIVE, "true");  
  9.         _client.setProperty(CommonsHttpMessageSender.DISABLE_EXPECT_CONTINUE, "true"); 

原文:http://www.cnblogs.com/yjhrem/articles/3559814.html

避坑指南:sherpa-onnx中文语音识别模型实测对比(2024最新版) 本文实测对比了sherpa-onnx框架下Paraformer、Zipformer、SenseVoice等主流中文语音识别模型。针对不同应用场景,从准确率、延迟、资源占用等维度提供选型建议,并分享部署避坑指南与最佳实践,帮助开发者高效选择本地语音转文字方案。 阅读详情

相关推荐

SQLite学习——Dapper初识

dapper下载:https://www.nuget.org/packages/Dapper/1.40.0

jiDxiaohuo的博客 1295

Xfire生成WebService客户端代码 调用 并设置超时时间

xfire生成webservice客户端,并设置超时时间

wzq0926的专栏 1906

Java后端实战:钉钉互动卡片消息从配置到生产级对接

在企业级消息推送场景中,机器人通知已从简单的文本向富交互演进。其核心原理在于通过可交互的卡片模板,将传统单向通知升级为双向、有状态的微型应用界面,实现了用户无需跳转即可完成操作的技术价值。这广泛应用于审批、任务确认、数据填报等需要即时反馈的业务流程。本文聚焦于钉钉平台,深入剖析其互动卡片消息机制,并基于Java后端,系统讲解如何实现包括安全验签、异步回调与卡片动态更新在内的生产级对接方案,涵盖配置管理、服务降级等工程实践关键点,助力构建稳定高效的企业消息交互服务。

weixin_30617737的博客 435

xfire webservice timeout 设置

基于http的网络连接中超时设置如下: URL url = new URL("http://www.163.com");   HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();   httpConnection.setReadTimeout(5000);//设置从主机

大道至简 分而治之 2114

RTC时钟芯片替换代码移植-IIC通信

1、问题 RTC时钟芯片由爱普生RX-8010SJ更换成大普INS5710A,两者都是IIC通信,更换大普芯片后时钟不走、以及报掉电错误。仿真分析原因是CPU和RTC芯片收发数据延时不够导致,根据爱普生芯片手册,8010收发数据不采取延时,但大普芯片采用同样方式读取不行(需要加延时) 2、RX-8010SJ手册说明(以读取数据为例) (1)寄存器读操作时序图 指定地址读操作: 1)CPU 发送开始条件[S] 2)CPU 传输RX-8010SJ 的从地址,用R/W 位设定写模式 3)检测从RX-8010

weixin_42851683的博客 2066

【ACP】2025-最新-疑难题解析- 练习一汇总

他们对您的方案比较满意,作为一个特别看重用户体验的创业公司,他们有一个比较担心的问题:在后端云服务器 ECS 实例相对空闲时,可能会触发减少 ECS 实例的伸缩活动,这时候运行在即将移出伸缩组的 ECS 实例上的应用会被终止,那么发起这些应用的用户的体验会变差。:在使用阿里云的负载均衡 SLB 实例时,做了如下健康检查的配置:响应超时时间为 5 秒,健康检查间隔为 2 秒,不健康阈值为 3,健康阈值为 3,即对于确认一个后端服务器 ECS 实例是健康的,需要连续三次得到正常响应。以下说法哪一项是正确的?

jundao1997的专栏 326

xFire调用wsdl webservice超时时间设置

webservice超时时间设置,注意HttpURLConnection必须引用sun.net.www.protocol.http.HttpURLConnection

plq1210的专栏 3987

深入解析 OpenClaw(小龙虾)源码:架构设计与核心实现

OpenClaw用清晰、工程化的代码结构,将复杂的Agent交互流程变成了可管理、可扩展的流水线。无论是想深入了解Agent系统设计,还是希望二次开发定制自己的AI助理,阅读OpenClaw源码都是一次绝佳的学习旅程。希望本文能帮助你快速掌握OpenClaw的核心脉络。如果你对某个模块(如技能开发、安全机制)感兴趣,欢迎继续探讨。本文基于OpenClaw社区版本源码分析,具体实现可能随版本迭代有所调整,请以最新源码为准。

Ven%的博客 449

如何设置WEB SERVICE超时时间

 服务端是用AXIS2生成的,客户端是用XFIRE生成的,客户端发起请求,如果服务端down了,客户端一直等待直到超时才结束 但是我不能等待10多秒的超时,我怎么设置让这个超时短些呢???    HttpClientParams params = new HttpClientParams();    // 避免'Expect: 100-continue' handshake    params....

laravel framework 951

QGis二次开发 —— 1、win10/win11搭建Vs2017-QGis3.40.12环境(附Vs2017环境效果,附全部问题解决方法)(附:Qt助手加入QGis接口说明文档)

QGis二次开发 —— 1、Windows10搭建Vs2017-QGis环境(附Vs2017环境效果)(附:Qt助手加入QGisA接口说明文档)

1362

YOLO26改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头

本文记录的是基于移动倒置瓶颈 MBConv 的 YOLO26 的检测头轻量化改进方法研究。采用了独特的倒置瓶颈结构,通过的操作以及,在高效提取特征的同时极大地降低了计算量。本文将的设计优势融入j检测头中,使其在目标检测任务中不仅能够更精准地识别各类目标,还能在计算资源有限的情况下快速响应,展现出更为卓越的实时检测能力。EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks的实现代码如下: 首先在代码中加入如下代码: 其

Limiiiing的博客 286

为XFire生成的WebService客户端设置连接超时参数

由于要从另一个系统的WebService读取大量的数据,因此要修改连接WebService的超时参数。WebService的客户端代码是通过XFire的Ant任务生成的。Google一下,没找到答案,但最后还是在XFire官方找到了答案。 假设生成的客户端代码中的服务接口和Client的类分别为TestService和TestServiceClient,修改连接超时参数代码如下: //...

iteye_13377的博客 400

反激电源及其变压器计算与绕制

本内容以一个宽电压输入 24V3A 输出的 72W 反激电源为例来计算电路的各个参数和器件选型,包含反激变压器的计算与绕制方法。

让你爱上电路设计 1933

由于使用 xfire/HttpMethod 造成Socket连接池满的问题及解决办法

由于使用 xfire/HttpMethod 造成Socket连接池满的问题及解决办法 I/O exception (java.net.BindException) caught when processing request: Address already in use: connect (平台报出异常,传说该错误又socket连接满引起,故为上标题) 使用 XFire 访问webServ

mmoooodd的专栏 900

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

使用xfire client调用ws时存在的无限等待问题。

问题描述: A线程调用WS的B方法,并且获取B方法的返回值。 情境一: A线程连接时无法连接上WS,程序报错,正常执行下去。 情境二: A线程连接上WS,并且执行B方法,在B方法返回前,A与WS之间出现网络异常或其他原因造成A无法获取B方法的返回值,那么A会一直无限等待。。。 调查过程: 使用jstack 来把程序的线程输出,找到对应的线程,以下是线程的内容: "main"

leeking888的专栏 1539

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

xfire 客户端超时设置不起作用

代码如下 service = (T) new XFireProxyFactory().create(serviceModel, url);         int TIMEOUT = 10000; HttpClientParams params = new HttpClientParams(); params         .setParameter(HttpClientParam...

zhugw2012的博客 592

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Xfire开发的webservice客户端超时问题解决

最近某电信ISAG升级后我们的客户端出现大量超时提示,并且下发很慢[MeChannelGw]2010-06-10 06:00:05 (HttpMethodBase.java:2102)-[INFO] Timer-1 - 100 (continue) read timeout. Resume sending the request[MeChannelGw]2010-06-10 ...

weixin_34174105的博客 172

Xfire+WebService “Discarding unexpected response: HTTP/1.1 100 Continue”错误解决

错误如下: 2008-6-23 10:43:44 org.apache.commons.httpclient.HttpMethodBase writeRequest 信息: 100 (continue) read timeout. Resume sending the request 2008-6-23 10:43:45 org.apache.commons.httpclient.HttpM

qq_21025405的专栏 1886

使用XFire调用WebService需注意的事项

(一):注意过滤输入和输出参数空白字符如果出现空白字符解析不了导致调用失败,导致下面的异常:org.codehaus.xfire.fault.XFireFault: Error writing document.. Nested exception is com.ctc.wstx.exc.WstxIOException: Invalid null cha...

weixin_33781606的博客 227

WebService调用的两种方式

1、 XFIRE方式,调用WebService 通过WebSerice获取数据 /********调用接口加速测试**** ***************************/ HttpClientParams params = new HttpClientParams(); // 避免'Expect: 100-continue' handshake params.s

luoyeyeyu的专栏 696

XFire平台下的连接超时设置

    public Client loadClient() throws MalformedURLException, Exception{        Client client = new Client(new URL(url));        client.setTimeout(20000);        HttpClientParams params = new HttpClien

gabbler的专栏 6943

Xfire生成webservice客户端,设置连接超时

在调用任何webservice时,都会遇到无法获取服务的情况,我们知道在基于http的网络连接中超时设置如下: URL url = new URL("http://www.163.com"); HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection(); httpConnection.setConnectTimeout(20000); 在xfire生成webservice客户端如何设置超时呢?看下面的代码//创

kongjing0815的专栏 7531

xfire设置超时时间

1。使用xfire新的包:            xfire-aegis-1.2.6.jar            xfire-annotations-1.2.6.jar            xfire-core-1.2.6.jar            xfire-java5-1.2.6.jar            xfire-jaxws-1.2.6.jar           ...

xiangxingchina 310
上一篇: Extjs中的success和failure
下一篇: 由于使用 xfire/HttpMethod 造成Socket连接池满的问题及解决办法
mmoooodd
博客等级 码龄18年 35粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值