消费者端如何设置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);
有必要为直接连接设置消费者序列化类型(即如果没有注册服务器在使用中)。如果使用注册表,则自动协商序列化类型。
对于我的基于 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);
有必要为直接连接设置消费者序列化类型(即如果没有注册服务器在使用中)。如果使用注册表,则自动协商序列化类型。