hessian 报 'j' is unknow code故障分析

今天突然发生了一件怪事,在内测环境下所有的客户端通过hessian请求服务端时,部分的请求直接返回  'j' is unknow code ,服务端并不报错。发生这个问题,真把我给急坏了,内测环境是我们上线生产的最后一道关,如果这个故障不解决,所有的应用都要停止上线,以免给生产系统造成影响。一方面更新邮件不停的在累积,另一方面,出于对生产系统负责的态度,不敢对生产环境进行更新。

某大神一直认为是项目中的包的版本的问题,不断的让我换依赖包的版本,当时我也没有太好的排查方案,只好先尝试换换看,换来换去问题依旧。一上午很快就过去了,到下午,无线那边的产品挨个找我问我情况,迫于压力,我回复产品部门,四点之前一定给出出力结果。于是我开始自己来分析问题。

1、生产环境和测试环境都没问题,只有内测环境有问题。内测环境的包和生产环境的包都是一样的,应用的包文件没有更换过,这样其实先排除应用内部的原因了。(所以说上午听某大神的换依赖包版本的建议是有多么的离谱了)

2、把内测客户端的RPC的请求地址先换成生产的RPC,排除故障是否与服务端有关系。改完测试之后,发现客户端和服务端都没问题。请求都很正常。说明问题在中间转发层或者是服务端。再把RPC的请求地址更换成内测服务端的IP地址(除中间转发层),发现请求都正常。排除之后可以肯定,是由于中间层转发出现了故障造成的。

3、找到运维的负责请求转发的同事,让他检查了一下,最终确认的原因是由于 应用防火墙的配置有问题导致请求被拦截造成返回数据无法被hassian协议识别导致的。修复应用防火墙配置,故障恢复。

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/extra/

时间: 2024-11-01 11:15:47

hessian 报 'j' is unknow code故障分析的相关文章

tomcat-jvm每隔一个小时就会报错,打印hs_err_pid*.log

问题描述 jvm每隔一个小时就会报错,打印hs_err_pid*.log 在阿里云服务器上安装jdk7+tomcat7环境,启动tomcat,不发布任何应用,jvm也会不停出错 每隔一个小时就生成一个hs_err_pid*.log 系统版本: Linux iZ23usxuuqdZ 2.6.32-431.23.3.el6.x86_64 #1 SMP Thu Jul 31 17:20:51 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux jdk版本 java vers

http协议-PHP使用curl_init post 提交json 外部服务器报错

问题描述 PHP使用curl_init post 提交json 外部服务器报错 [code=php]$serviceURL = 'http://61.153.225.106:5678/Service.asmx/tests';$ch = curl_init ( $serviceURL );curl_setopt ( $ch CURLOPT_CUSTOMREQUESTPOST"" );curl_setopt ( $ch CURLOPT_RETURNTRANSFER true );curl_

[LeetCode]89.Gray Code

[题目] The gray code is a binary numeral system where two successive values differ in only one bit. Given a non-negative integer n representing the total number of bits in the code, print the sequence of gray code. A gray code sequence must begin with

从excel导入1000多条数据到oracle数据库时,java内存溢出,tomcat报错

问题描述 tomcat错误日志如下:## An unexpected error has been detected by HotSpot Virtual Machine:## EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c930a19, pid=1168, tid=1936## Java VM: Java HotSpot(TM) Client VM (1.5.0_16-b02 mixed mode)# Problematic frame:#

探讨Hessian在PHP中的使用分析_php技巧

什么是Hessian Hessian是由caucho提供的一种开源的远程通讯协议. 采用二进制 RPC 协议,基于 HTTP 传输,服务器端不用另开放防火墙端口. 协议的规范是公开的,可以用于任意语言. 采用客户机/服务器模式. 请求程序就是一个客户机,而服务提供程序就是一个服务器. 客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息. 在服务器端,进程保持睡眠状态直到调用信息的到达为止. 当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息

Print2Flash批量操作的时候 不支持word文档??报错又是咋回事?

问题描述 Print2Flash批量操作的时候,不支持word文档吗??用Print2Flash批量操作,文本文档就可以批量转换成.swf格式,word文档就不能批量转换,这是为啥呀??那我岂不是要不所有的word文档都转成文本,然后再批量操作,那不是很麻烦吗...批量操作word文档,整个文件夹根本放不进去,单个word文件放进去,就会报错:SystemError.Code:1155.没有应用的程序与此操作的指定文件有关联.......这什么鬼!!!!跪求各路大神指点! 解决方案

使用JNA调用so文件造成weblogic服务器down掉的问题

问题描述 这个问题这两周一直困扰我,查了各种资料用尽各种办法都无法解决,现在只有希望大家能给我提供解决思路:问题描述: 在项目上为了保证加密算法的一致性,程序中会使用jna加载so动态链接库,并调用其中相关方法来加解密,现在的情况是第一次交易的时候加解密都是成功的,然后再发起一个交易就会造成weblogic服务器down掉.报错的hs_err_pid11047.log日志中部分内容:## An unexpected error has been detected by HotSpot Virtu

内存溢出-tomcat7运行一段时间总是死掉

问题描述 tomcat7运行一段时间总是死掉 这是打印的错误日志: # A fatal error has been detected by the Java Runtime Environment: # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006d9d6262, pid=4864, tid=3628 # JRE version: 6.0_27-b07 Java VM: Java HotSpot(TM) 64-Bit Ser

php 数组排序:php实现各种排序

<?php/*** 各种排序* @author zhaojaingwei* @since 2011/11/21 16:14**/$list = array(3,5,1,2,10,8,15,19,20);//快排function fast(&$list, $low, $high){if($high - $low > 5){while($low < $high){$key = excute($list, $low, $high);fast($list, $low, $key - 1)