Commit e1401c96 by liuyu

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

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