dubbo 多協議的配置和使用

1.配置多協議

@Configuration
public class DubboConfig {

    @NacosValue(value = "${dubbo.protocol.port}",autoRefreshed = true)
    private Integer port;
    @NacosValue(value = "${dubbo.protocol.name}",autoRefreshed = true)
    private String name;

    @NacosValue(value = "${dubbo.port}",autoRefreshed = true)
    private Integer hessianPort;
    @NacosValue(value = "${dubbo.name}",autoRefreshed = true)
    private String hessianName;
    @NacosValue(value = "${dubbo.server}",autoRefreshed = true)
    private String server;
    @NacosValue(value = "${dubbo.accepts}",autoRefreshed = true)
    private Integer accepts;
    @NacosValue(value = "${dubbo.threads}",autoRefreshed = true)
    private Integer threads;


    // 配置dubbo協議
    @Bean("dubbo")
    public ProtocolConfig dubboProtocolConfig() {
        ProtocolConfig protocolConfig = new ProtocolConfig();
        protocolConfig.setName(name);
        protocolConfig.setId(name);
        protocolConfig.setPort(port);
        protocolConfig.setServer(null);
        // 可繼續增加其它配置
        return protocolConfig;
    }

    // 配置hessian協議
    @Bean("hessian")
    public ProtocolConfig restProtocolConfig() {
        ProtocolConfig protocolConfig = new ProtocolConfig();
        protocolConfig.setName(hessianName);
        protocolConfig.setId(hessianName);
        protocolConfig.setServer(server);
        protocolConfig.setPort(hessianPort);
        protocolConfig.setAccepts(accepts);
        protocolConfig.setThreads(threads);
        // 可繼續增加其它配置
        return protocolConfig;
    }
}

2.註解協議的使用

服務端

@Service(protocol = {"hessian"},timeout = 360000)

客戶端

@Reference(protocol = "hessian",timeout = 360000)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章