Commit e1401c96 by liuyu

2023年05/08 dubbo group修改。服务代理接口实例化方法修改

parent 742bc3b4
......@@ -19,9 +19,8 @@ public class AutoMaticClientConfiguration {
@Bean
@ConditionalOnMissingBean(AutoMaticClient.class)
public AutoMaticClient authClient(AutoMaticClientConfigurationProperties properties) {
return new AutoMaticClient(AutoMaticClientFactory.createInstance(AutoMaticService.class, properties.getApplication(),properties.getRegistry(),
properties.getConsumer()));
return AutoMaticClientFactory.getAutoMaticClient(properties.getApplication(), properties.getRegistry(),
properties.getConsumer(), properties.getConfigCenterConfig());
}
}
package com.zhiwei.middleware.automatic.configuration;
import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.ConfigCenterConfig;
import org.apache.dubbo.config.ConsumerConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.springframework.boot.context.properties.ConfigurationProperties;
......@@ -11,6 +12,7 @@ public class AutoMaticClientConfigurationProperties {
private ApplicationConfig application;
private RegistryConfig registry;
private ConsumerConfig consumer;
private ConfigCenterConfig configCenterConfig;
public ApplicationConfig getApplication() {
return application;
......@@ -35,4 +37,12 @@ public class AutoMaticClientConfigurationProperties {
public void setConsumer(ConsumerConfig consumer) {
this.consumer = consumer;
}
public ConfigCenterConfig getConfigCenterConfig() {
return configCenterConfig;
}
public void setConfigCenterConfig(ConfigCenterConfig configCenterConfig) {
this.configCenterConfig = configCenterConfig;
}
}
......@@ -71,27 +71,6 @@
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>${dubbo.version}</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
......
......@@ -2,15 +2,13 @@ package com.zhiwei.middleware.automatic.server.core;
import com.zhiwei.middleware.automatic.server.dubbo.service.AutoMaticService;
import org.apache.dubbo.common.utils.StringUtils;
import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.ConsumerConfig;
import org.apache.dubbo.config.ReferenceConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.config.*;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.locks.ReentrantLock;
import static java.util.Objects.*;
......@@ -25,7 +23,8 @@ public class AutoMaticClientFactory {
}
public static <T> T createInstance(Class<T> clazz, ApplicationConfig application, RegistryConfig registry, ConsumerConfig consumer) {
private static <T> T createInstance(Class<T> clazz, ApplicationConfig application, RegistryConfig registry,
ConsumerConfig consumer, ConfigCenterConfig configCenterConfig) {
lock.lock();
try {
if (isNull(application)) {
......@@ -48,8 +47,6 @@ public class AutoMaticClientFactory {
}
reference = new ReferenceConfig<>();
reference.setApplication(application);
//向注册中心注册
registry.setTimeout(600000);
reference.setRegistry(registry);
if (isNull(consumer.isCheck())) {
// 如果消费者没有配置检查,则默认不检查
......@@ -57,10 +54,11 @@ public class AutoMaticClientFactory {
// reference 没有配置时会使用 consumer 配置
reference.setCheck(false);
}
// 设置消费者配置
consumer.setTimeout(600000);
reference.setConsumer(consumer);
reference.setInterface(clazz);
if (Objects.nonNull(configCenterConfig)) {
reference.setConfigCenter(configCenterConfig);
}
REFERENCES.put(cacheKey, reference);
//获取目标接口
return (T) reference.get();
......@@ -72,23 +70,24 @@ public class AutoMaticClientFactory {
return null;
}
public static <T> T createInstance(Class<T> clazz, String registry, String group, String appName) {
public static AutoMaticClient getAutoMaticClient(String registry, String group, String appName, long timeOut) {
ApplicationConfig application = new ApplicationConfig();
RegistryConfig reg = new RegistryConfig(registry);
application.setName(appName);
ConsumerConfig consumer = new ConsumerConfig();
consumer.setGroup(group);
return createInstance(clazz, application, reg, consumer);
ConfigCenterConfig configCenterConfig = new ConfigCenterConfig();
configCenterConfig.setTimeout(timeOut);
return new AutoMaticClient(createInstance(AutoMaticService.class, application, reg, consumer, configCenterConfig));
}
/**
* 获取自动标注client
* @param autoMaticService 代理接口
* @return 自动标注client
*/
public static AutoMaticClient getAutoMaticClient(AutoMaticService autoMaticService) {
return new AutoMaticClient(autoMaticService);
public static AutoMaticClient getAutoMaticClient(ApplicationConfig application, RegistryConfig registry,
ConsumerConfig consumer, ConfigCenterConfig configCenterConfig) {
return new AutoMaticClient(createInstance(AutoMaticService.class, application, registry, consumer, configCenterConfig));
}
}
......@@ -155,6 +155,31 @@
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>${dubbo-server.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
......
......@@ -5,13 +5,13 @@ spring.redis.redisson.file=classpath:redisson-local.yaml
dubbo.application.name=automatic-provider
dubbo.application.qos.enable=false
dubbo.registry.address=zookeeper://192.168.0.11:2181?backup=192.168.0.30:2181,192.168.0.35:2181
#dubbo.config-center.timeout=60000
dubbo.config-center.timeout=60000
dubbo.protocol.name=dubbo
dubbo.protocol.port=7779
dubbo.provider.timeout=60000
dubbo.registry.timeout=60000
dubbo.registry.version=*
dubbo.provider.group=zhiwei-automatic
dubbo.provider.group=zhiwei-middleware-automatic-local
dubbo.scan.basePackages=com.zhiwei.middleware.automatic.server.dubbo.service.impl
dubbo.monitor.protocol=registry
dubbo.application.shutwait=30s
......
......@@ -11,7 +11,7 @@ dubbo.protocol.port=7779
dubbo.provider.timeout=60000
dubbo.registry.timeout=60000
dubbo.registry.version=*
dubbo.provider.group=zhiwei-automatic
dubbo.provider.group=zhiwei-middleware-automatic
dubbo.scan.basePackages=com.zhiwei.middleware.automatic.server.dubbo.service.impl
dubbo.monitor.protocol=registry
dubbo.application.shutwait=30s
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment