序列化协议

编辑
更新时间: 2024-09-18

SOFARPC 可以在使用 Bolt 通信协议的情况下,可以选择不同的序列化协议,目前支持 hessian2 和 protobuf

默认的情况下,SOFARPC 使用 hessian2 作为序列化协议,如果需要将序列化协议设置成 protobuf,在发布服务的时候,需要做如下的设置:

<sofa:service ref="sampleService" interface="com.alipay.sofarpc.demo.SampleService">
    <sofa:binding.bolt>
        <sofa:global-attrs serialize-type="protobuf"/>
    </sofa:binding.bolt>
</sofa:service>

即在 <sofa:binding.bolt> 标签内增加 <sofa:global-attrs> 标签,并且设置 serialize-type 属性为 protobuf

对应的,在引用服务的时候,也需要将序列化协议改成 protobuf,设置方式和发布服务的时候类似:

<sofa:reference interface="com.alipay.sofarpc.demo.SampleService" id="sampleServiceRef" jvm-first="false">
    <sofa:binding.bolt>
        <sofa:global-attrs serialize-type="protobuf"/>
    </sofa:binding.bolt>
</sofa:reference>

目前,使用注解的方式尚不能支持设置序列化协议,这个将在后续的版本中支持,详见 ISSUE:https://github.com/sofastack/sofa-boot/issues/278