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、在打印足够的日志发现接口执行确实超过半个小时,接口重复调用三次、四次的也确实存在。而像问题一的问题缺没有再次出现。
在测试环境双方联调测试发现:执行超过半个小时接口会被重复调用。跟踪访问日志发现调用方无二次调用操作,而接口二次调用。
于是,将此现象与服务器管理员描述后,调整了负载机的时间控制。问题得到规避。
抛砖引玉。
webservice执行超长引发的两个问题相关推荐
- 12 c for. oracle rac,【案例】Oracle RAC FOR AIX搭建执行root.sh时两次报错的解决办法
天萃荷净 运维DBA反映在aix 5.3 ml6安装10.2.0.1 rac报错0509-036 Cannot load program crsctl.bin because of the follo ...
- 在.NET中执行Async/Await的两种错误方法
微信公众号:架构师高级俱乐部 关注可了解更多的编程,架构知识.问题或建议,请公众号留言; 如果你觉得此文对你有帮助,欢迎转发 在.NET中执行异步/等待的两种错误方法 在应用开发中,我们为了提高应用程 ...
- laravel windows 下queue能长时间执行吗_后台执行超长时间任务解决方案
php中文网最新课程 每日17点准时技术干货分享 解决的问题: ● 耗时较长 ● 各端无法调取相关任务进度进行反馈 ● 自定义任务过后反馈结果 ● 请教下,Laravel 如何让程序在后台执行超长时间 ...
- 一.关于实现浏览器弹窗提示内容几秒后自动消失重定向执行其他函数的两种方法
一.关于实现浏览器弹窗提示内容几秒后自动消失重定向执行其他函数的两种方法 第一种方法–向body动态写入div标签调用css效果显示: (新建***.jsp放在WebContent根目录下直接访问ip ...
- 中止执行后超过2年_执行期限过了两年怎么处理
一.执行期限过了两年怎么处理 超过申请强制执行期限而提出强制执行的,法院通常对申请人的申请应该直接立案执行.对于申请人的申请,法院不能主动适用时效,也不能对被执行人进行说明也即释明. 民事诉讼法中规定 ...
- 运行python程序的两种方式交互式和文件式_执行Python程序的两种方式
交互式(了解) 交互式环境下,敲完一条命令按下enter键马上能看到结果,调试程序方便.程序无法永久保存,关掉cmd窗口数据就消失了. 命令行式(了解) 打开文本编辑器,在文本编辑器中写入一串字符. ...
- R语言Kolmogorov-Smirnov检验比较两个样本是否来自同一个分布:ks.test函数执行Kolmogorov-Smirnov检验比较两个样本是否来自同一个分布
R语言Kolmogorov-Smirnov检验比较两个样本是否来自同一个分布:ks.test函数执行Kolmogorov-Smirnov检验比较两个样本是否来自同一个分布 目录
- spark的RDD中的action(执行)和transformation(转换)两种操作中常见函数介绍
参考文章:spark的RDD中的action(执行)和transformation(转换)两种操作中常见函数介绍 spark常见的RDD 1. 函数概览 2. 常见的Transformations 操 ...
- windows设置任务计划定时执行php程序,两种方法
windows设置任务计划定时执行php程序,两种方法 1.定时执行bat文件 2.定时执行php文件 1.定时执行bat文件 新建一个php文件 :在php文件写入你要执行的程序: <?php ...
最新文章
- 把录制的视频压缩到最低
- mysql 数据库引擎切花_asyncio异步编程【含视频教程】
- 滴滴与能链杀红眼的加油市场,究竟有多大?
- Java版本的Bot Framework SDK
- Java开发人员必须看到的13个Decks保持更新
- 初创公司怎么做销售数据分析_初创公司与Faang公司的数据科学
- 【STM32】【STM32CubeMX】STM32CubeMX的使用之九:ADC
- 喜欢初音未来的桌面壁纸看过来
- java中bool_java中boolean用法
- CU的递归划分详细介绍
- 深漂一年,一位程序员的2016年终告白
- Android 双RecyclerView嵌套实现购物车逻辑
- prometheus+grafana搭建监控平台监控压测服务器mysql性能
- 八个研发物联网产品的重要问题
- 当自动驾驶驶入虚拟现实——苹果的沉浸式自动驾驶系统
- visual studio code下载慢解决办法
- Python 转换金额数字大写为数字小写
- git pull 时一直卡在Unpacking objects【待解决】
- 亚马逊如何开多个店铺?
- Nebula Graph 的 KV 存储分离原理和性能测评
热门文章
- FreeBSD使用CVSup升级Ports,让它涣然一新
- root的小米如何升级,小米开发版怎么刷root
- Python 编码错误UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 131: illegal multibyte
- [ARM] ARM处理器的7种工作模式和2种工作状态
- MBR与GPT分区的区别及使用注意事项(转载)
- 安卓开发 -- 定时重启设备
- 如何给客户进行价值塑造?说一万句话,不如讲一个故事
- css禅意花园讲了什么——读书笔记1
- 无法对计算机进行搜索,简单几步解决win10电脑搜索功能不能用了的问题
- ffplay 内存优化