解决 dubbo 和 nacos 初始化顺序导致 循环初始化的问题

This commit is contained in:
GYJ
2025-03-04 17:46:10 +08:00
parent 97b145e0f6
commit 726ba8c389
4 changed files with 84 additions and 5 deletions

View File

@@ -0,0 +1,61 @@
package com.czg.config;
import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.ProtocolConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
/**
* @author GYJoker
*/
@Component
public class CzgDubboBean {
private ApplicationConfig applicationConfig;
private ProtocolConfig protocolConfig;
@Value("${dubbo.application.name}")
private String applicationName;
@Value("${dubbo.application.qos-port}")
private Integer qosPort;
@Value("${dubbo.application.qos-enable}")
private Boolean qosEnable;
@Value("${dubbo.registry.address}")
private String registryAddress;
@Value("${dubbo.registry.group}")
private String registryGroup;
@Value("${dubbo.protocol.port}")
private Integer port;
@Value("${dubbo.protocol.threads}")
private Integer threads;
public CzgDubboBean() {
applicationConfig = new ApplicationConfig();
applicationConfig.setName(applicationName);
applicationConfig.setQosPort(qosPort);
applicationConfig.setQosEnable(qosEnable);
RegistryConfig registryConfig = new RegistryConfig();
registryConfig.setAddress(registryAddress);
registryConfig.setGroup(registryGroup);
protocolConfig = new ProtocolConfig();
protocolConfig.setPort(port);
protocolConfig.setThreads(threads);
}
public ApplicationConfig getApplicationConfig() {
return applicationConfig;
}
public ProtocolConfig getProtocolConfig() {
return protocolConfig;
}
}

View File

@@ -0,0 +1,18 @@
package com.czg.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.DependsOn;
/**
* @author GYJoker
*/
@Configuration
@DependsOn("nacosConfigProperties") // 这里假设 Nacos 的配置属性 Bean 名为 nacosConfigProperties
public class DubboConfig {
// 这里可以添加 Dubbo 相关的配置 Bean
@Bean
public CzgDubboBean czgDubboBean() {
return new CzgDubboBean();
}
}