解决Hessian【hessian-4.0.7.jar】不能正确传输BigDecimal问题

来源:互联网 发布:知乎2018校园招聘 编辑:程序博客网 时间:2024/06/05 06:36

 

jackpk注:

今天亲身体验了hessian-4.0.7.jar版本无法正确传输BigDecimal问题。

比如需要hessian传输BigDecimal类型数据“10.01”。但经传输后得到的数值却为“0”。
经查找网络相关资料问题得到了解决,详见下文的“最佳解决办法”

 

hessian官网

http://hessian.caucho.com/#Java

后来下载了http://hessian.caucho.com/download/hessian-4.0.37.jar

并与原有hessian-4.0.7.jar版本进行了对比,发现“hessian-4.0.37.jar”中已经进行了此问题的修复,并且修复方法也和下文的“最佳解决办法”一致。

 

 jackpk注:

hessian-4.0.7.\META-INF\hessian中是没有“deserializers”、“serializers”两文件的。

而“hessian-4.0.37.jar”中已经增加了此两文件

 

 

 

 

最佳解决办法:

解决Hessian不能正确传输BigDecimal问题

url: http://blog.csdn.net/redvalley/article/details/7359155

Hessian不能正确传输BigDecimal,解决方法:指定系列化类。


增加下面两个文件,打入hessian包。

/META-INF/hessian/serializers,内容如下:

java.math.BigDecimal=com.caucho.hessian.io.BigDecimalDeserializer


/META-INF/hessian/deserializers

java.math.BigDecimal=com.caucho.hessian.io.StringValueSerializer

 

 

 其它网友问题分析及解决:

关于java的BigDecimal类型经Hessian发布出现Bug的示例(Hessian是Hessian 4.0.7版本)

http://www.ylzx8.cn/ruanjiangongcheng/software-architecture-design/672401.html

 

0 0
原创粉丝点击