webservice执行超长引发的两个问题

维护的一个接口出现了执行时间超过半个小时情况。

1、接口执行超过半个小时未给调用程序反馈,调用程序认为调用失败,报错

com.caucho.hessian.io.HessianProtocolException:
at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:171)
at $Proxy0.createAccount(Unknown Source)
解决问题思路:查看源代码,分析171代码的含义

1、客户端连接关闭
2、网络数据丢包(linux下的iptables控制)
3、接口程序执行超过30分钟时
4、服务端连接关闭
四中方式下执行均未模拟出相同报错。

最后,考虑到程序是运行在负载机器上,通过负载机器访问接口程序,对于负载机器的原理不了解。问题一的解决到次搁浅。

由于对于apache负载机器的研究代价太大,于是,将程序执行时的打印日志:开始时间、执行时间、结束时间等。
问题2、在打印足够的日志发现接口执行确实超过半个小时,接口重复调用三次、四次的也确实存在。而像问题一的问题缺没有再次出现。
在测试环境双方联调测试发现:执行超过半个小时接口会被重复调用。跟踪访问日志发现调用方无二次调用操作,而接口二次调用。

于是,将此现象与服务器管理员描述后,调整了负载机的时间控制。问题得到规避。

抛砖引玉。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值