weibocom / motan

A cross-language remote procedure call(RPC) framework for rapid development of high performance distributed services.
Other
5.89k stars 1.78k forks source link

BigDecimal类型的javabean属性,在接收的时候,会变成0 #614

Open yu199195 opened 6 years ago

yu199195 commented 6 years ago

我有个一个javabean对象,有一个字段 private BigDecimal balance 提供了get set方法,在提供方法可以得到正确的值,在消费方接收的时候,该属性变成了0

rayzhang0603 commented 6 years ago

这个是hessian2的bug,可以参考https://github.com/weibocom/motan/issues/127 解决

yu199195 commented 6 years ago

integer也不行呢。。 com.caucho.hessian.io.HessianProtocolException: expected map/object at java.lang.Integer (1000)

yu199195 commented 6 years ago

是在消费方加 META-INF/hessian/deserializers with 'java.math.BigDecimal=com.caucho.hessian.io.BigDecimalDeserializer' 还是在服务方也要加

yu199195 commented 6 years ago

没有支持 change another serializing/deserializing framework, like hprose or kyro 这2个序列化吧,我在源代码里面都没看。。

rayzhang0603 commented 6 years ago

使用其他序列化方式需要引入serialization-extension包,也可以参照serialization-extension模块中的实现进行自定义序列化方式的扩展

<dependency>
        <groupId>com.weibo</groupId>
        <artifactId>serialization-extension</artifactId>
        <version>${project.parent.version}</version>
    </dependency>