Grails-Hessian问题

Grails-Hessian问题,grails,hessian,Grails,Hessian,我们正在将生产环境转移到客户的数据中心。目前,为了解释这个场景,我们有一个Apache负载平衡器,它负责对托管2个grails应用程序的2个Apache Tomcat应用程序服务器进行负载平衡请求。我将感谢任何帮助 总而言之,我们的设置是: -充当负载平衡器的Apache HTTP服务器 2台Tomcat服务器(节点A和节点B) 我们在每个Tomcat服务器上托管了两个Java/Grails应用程序。 在当前环境中,我们通过负载平衡器将hessian请求从一个grails应用程序发送到另一个g

我们正在将生产环境转移到客户的数据中心。目前,为了解释这个场景,我们有一个Apache负载平衡器,它负责对托管2个grails应用程序的2个Apache Tomcat应用程序服务器进行负载平衡请求。我将感谢任何帮助

总而言之,我们的设置是: -充当负载平衡器的Apache HTTP服务器

  • 2台Tomcat服务器(节点A和节点B)

  • 我们在每个Tomcat服务器上托管了两个Java/Grails应用程序。 在当前环境中,我们通过负载平衡器将hessian请求从一个grails应用程序发送到另一个grails应用程序。这很好用。在我们要迁移到的环境中,这是失败的

    我们已经能够验证所有防火墙和安全软件包是否已关闭。我们还能够在每次hessian调用失败时验证负载平衡器访问日志中是否存在错误(/var/log/httpd/access\u log):

10.30.95.51--[19/Jun/2014:11:55:13-0400]“POST/Application/hessian/RemoteTicketService HTTP/1.1”500 8067“-” “Java/1.6.0_30”

我继续执行了一个tcpdump,我能够确定Hessian返回了一个Grails应用程序错误-有人有什么想法吗

L6DáL6、HTTP/1.1500内部服务器错误^M日期:2014年6月20日星期五 14:40:08 GMT^M服务器:Apache/2.2.15(Red Hat)^M连接:关闭^M 传输编码:分块^M内容类型:文本/html;字符集=UTF-8^M ^M 1f83^M Grails运行时异常 .留言{ 边框:1px纯黑; 填充:10px; 背景色:#E9E9E9; 利润率:30像素; } .标题{ 利润率:30像素; } .堆栈{ 边框:1px纯黑; 填充物:5px; 溢出:自动; 高度:300px; } .片段{ 填充物:5px; 背景色:白色; 边框:1px纯黑; 保证金:3倍; 字体系列:信使; }

看起来你遇到了一个错误,很抱歉 消息:在-1处的Hessian输入中应为'H'/'C'(Hessian 2.0)或'C'(Hessian 1.0)
原因:Hessian骨架调用失败;嵌套异常为java.io.IOException:应为 在-1的Hessian输入中的'H'/'C'(Hessian 2.0)或'C'(Hessian 1.0) 类别:未知
第行:[-1]
代码片段:


这是Apache/2.2.15上mod_jk模块1.2.39的一个问题。我们把mod_jk模块换成了1.2.37版,一切都很好。通过使用tcpdump和一个基本的hessianjava项目,我们能够通过在hessianfactory上将“chunkedpost”设置为false来确认问题已经解决。不幸的是,我们显然无法在项目库/依赖项中执行此代码更改,但我们发现在mod_jk 1.2.39中,分块HTTP请求的转发被破坏。mod_jk 1.2.40修复了这个bug,并且在1.2.37中也没有发现它会影响我们的环境