使用Hessian传输BigDecimal值为0的问题
/ / 点击: / 阅读耗时 1 分钟问题现象
使用Hessian作为RPC框架传输数据,发现消费者收到的BigDecimal字段为0,而实际提供者返回的值非0。
解决方案
在消费者和提供者模块的src/main/resource/META-INF/hessian
下:
增加serializers
文件支持序列化
1 | java.math.BigDecimal=com.caucho.hessian.io.StringValueSerializer |
增加deserializers
文件支持反序列化
1 | java.math.BigDecimal=com.caucho.hessian.io.BigDecimalDeserializer |
参考资料
0003920: BigDecimal objects are incorrectly serialized - Mantis
BigDecimal value is always zero when transfered with spring remoting via hessian