如何在用户端设置dubbo序列化?

lxkprmvk  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(345)

对于基于dubbo的系统,我使用如下所述的api配置:https://dubbo.apache.org/en/docs/v2.7/user/configuration/api/
现在如果我想设置例如。 kryo 在提供程序端,我可以在配置协议时轻松地执行序列化:

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

现在我的问题是:我怎样才能在消费者方面做同样的事情?
这个 ReferenceConfig 只提供 .setProtocol(String) 方法,无法设置 ProtocolConfig 以同样的方式 ServiceConfig 哪个有 .setProtocol(ProtocolConfig) 方法。
谢谢

icomxhvb

icomxhvb1#

这个 ReferenceConfig 提供 setParameters . 使用 serialization 设置协议的键。对于kryo:

ReferenceConfig referenceConfig = ...;

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

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

相关问题