消费者端如何设置dubbo序列化?

How to set dubbo serialization on consumer side?

对于我的基于 dubbo 的系统,我使用 API 配置,如下所述:https://dubbo.apache.org/en/docs/v2.7/user/configuration/api/

现在如果我想设置例如kryo provider 端的序列化,我在配置协议的时候可以轻松做到:

// Protocol
ProtocolConfig protocol = new ProtocolConfig();
protocol.setName("dubbo");
protocol.setPort(12345);
protocol.setSerialization("kryo");  // here
protocol.setThreads(200);

现在我的问题是:我怎样才能在消费者端做同样的事情?

ReferenceConfig 只提供了一个 .setProtocol(String) 方法,无法以与 ServiceConfig 相同的方式设置 ProtocolConfig,后者具有 [=16] =]方法。

谢谢

ReferenceConfig 提供 setParameters。使用 serialization 键设置协议。对于克里奥:

ReferenceConfig referenceConfig = ...;

HashMap<String, String> parameter = new HashMap<>();
parameter.put("serialization", "kryo");
referenceConfig.setParameters(parameter);

有必要为直接连接设置消费者序列化类型(即如果没有注册服务器在使用中)。如果使用注册表,则自动协商序列化类型。