对于我的基于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)方法,并且无法以与具有.setProtocol(ProtocolConfig)方法的ServiceConfig相同的方式设置ProtocolConfig。
谢谢
发布于 2021-04-22 13:20:44
ReferenceConfig提供setParameters。使用serialization键设置协议。对于kryo:
ReferenceConfig referenceConfig = ...;
HashMap<String, String> parameter = new HashMap<>();
parameter.put("serialization", "kryo");
referenceConfig.setParameters(parameter);有必要为直接连接设置使用者序列化类型(也就是说,如果没有使用注册表服务器)。如果使用注册表,则会自动协商序列化类型。
https://stackoverflow.com/questions/66984524
复制相似问题