diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index 69b9e5ff..85dadc24 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -19,7 +19,7 @@ 1.6.0 3.1.0 - 0.5.0 + 0.5.1 1.0.0 0.8.0 1.0.9 @@ -31,7 +31,7 @@ 2.1.6 2.7.1 2.7.1 - 0.0.2 + 2.7.1 1.1.0 1.1.8.6 1.1.1 @@ -243,7 +243,7 @@ - com.alibaba + org.apache.dubbo dubbo-registry-nacos ${dubbo-registry-nacos.version} diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/DefaultHttpRequest.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/DefaultHttpRequest.java index 3f1f376d..60c21f00 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/DefaultHttpRequest.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/DefaultHttpRequest.java @@ -60,6 +60,7 @@ public class DefaultHttpRequest implements HttpRequest { return HttpMethod.resolve(getMethodValue()); } + @Override public String getMethodValue() { return method; } diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/MutableHttpServerRequest.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/MutableHttpServerRequest.java index 62240f3b..1ff65e42 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/MutableHttpServerRequest.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/MutableHttpServerRequest.java @@ -73,6 +73,7 @@ public class MutableHttpServerRequest implements HttpServerRequest { } // Override method since Spring Framework 5.0 + @Override public String getMethodValue() { return httpMethod.name(); } diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/DubboRestServiceMetadata.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/DubboRestServiceMetadata.java index 5c5ef3ad..bb7b4aa1 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/DubboRestServiceMetadata.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/DubboRestServiceMetadata.java @@ -44,8 +44,12 @@ public class DubboRestServiceMetadata { @Override public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof DubboRestServiceMetadata)) return false; + if (this == o) { + return true; + } + if (!(o instanceof DubboRestServiceMetadata)) { + return false; + } DubboRestServiceMetadata that = (DubboRestServiceMetadata) o; return Objects.equals(serviceRestMetadata, that.serviceRestMetadata) && Objects.equals(restMethodMetadata, that.restMethodMetadata); diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/DubboTransportedMethodMetadata.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/DubboTransportedMethodMetadata.java index 6e7ab9ac..edb27b4c 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/DubboTransportedMethodMetadata.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/DubboTransportedMethodMetadata.java @@ -77,8 +77,12 @@ public class DubboTransportedMethodMetadata { @Override public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof DubboTransportedMethodMetadata)) return false; + if (this == o) { + return true; + } + if (!(o instanceof DubboTransportedMethodMetadata)) { + return false; + } DubboTransportedMethodMetadata that = (DubboTransportedMethodMetadata) o; return Objects.equals(methodMetadata, that.methodMetadata) && Objects.equals(attributes, that.attributes); diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/MethodMetadata.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/MethodMetadata.java index 9dfe6ea4..3a6da5b8 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/MethodMetadata.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/MethodMetadata.java @@ -110,8 +110,12 @@ public class MethodMetadata { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } MethodMetadata that = (MethodMetadata) o; return Objects.equals(name, that.name) && Objects.equals(returnType, that.returnType) && diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/MethodParameterMetadata.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/MethodParameterMetadata.java index 0abf2b0e..1c3aaa26 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/MethodParameterMetadata.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/MethodParameterMetadata.java @@ -61,8 +61,12 @@ public class MethodParameterMetadata { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } MethodParameterMetadata that = (MethodParameterMetadata) o; return index == that.index && Objects.equals(name, that.name) && diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/RequestMetadata.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/RequestMetadata.java index 29361b93..caa5e8d1 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/RequestMetadata.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/RequestMetadata.java @@ -235,8 +235,12 @@ public class RequestMetadata { @Override public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof RequestMetadata)) return false; + if (this == o) { + return true; + } + if (!(o instanceof RequestMetadata)) { + return false; + } RequestMetadata that = (RequestMetadata) o; return Objects.equals(method, that.method) && Objects.equals(path, that.path) && diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/RestMethodMetadata.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/RestMethodMetadata.java index edbcf46a..b3055357 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/RestMethodMetadata.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/RestMethodMetadata.java @@ -183,8 +183,12 @@ public class RestMethodMetadata { @Override public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof RestMethodMetadata)) return false; + if (this == o) { + return true; + } + if (!(o instanceof RestMethodMetadata)) { + return false; + } RestMethodMetadata that = (RestMethodMetadata) o; return queryMapEncoded == that.queryMapEncoded && Objects.equals(method, that.method) && diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/ServiceRestMetadata.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/ServiceRestMetadata.java index 14cc3ac6..18850588 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/ServiceRestMetadata.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/ServiceRestMetadata.java @@ -52,8 +52,12 @@ public class ServiceRestMetadata { @Override public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof ServiceRestMetadata)) return false; + if (this == o) { + return true; + } + if (!(o instanceof ServiceRestMetadata)) { + return false; + } ServiceRestMetadata that = (ServiceRestMetadata) o; return Objects.equals(url, that.url) && Objects.equals(meta, that.meta); diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/registry/AbstractSpringCloudRegistry.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/registry/AbstractSpringCloudRegistry.java index b60c8247..7155ab65 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/registry/AbstractSpringCloudRegistry.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/registry/AbstractSpringCloudRegistry.java @@ -64,7 +64,7 @@ public abstract class AbstractSpringCloudRegistry extends FailbackRegistry { protected static final String DUBBO_METADATA_SERVICE_CLASS_NAME = DubboMetadataService.class.getName(); - private static final Set schedulerTasks = new HashSet<>(); + private static final Set SCHEDULER_TASKS = new HashSet<>(); protected final Logger logger = LoggerFactory.getLogger(getClass()); @@ -164,7 +164,7 @@ public abstract class AbstractSpringCloudRegistry extends FailbackRegistry { private void submitSchedulerTaskIfAbsent(URL url, NotifyListener listener) { String taskId = url.toIdentityString(); - if (schedulerTasks.add(taskId)) { + if (SCHEDULER_TASKS.add(taskId)) { schedule(() -> doSubscribeDubboServiceURLs(url, listener)); } } diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/service/DubboGenericServiceFactory.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/service/DubboGenericServiceFactory.java index 4cfa3a22..2955df1b 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/service/DubboGenericServiceFactory.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/service/DubboGenericServiceFactory.java @@ -110,6 +110,7 @@ public class DubboGenericServiceFactory { dataBinder.registerCustomEditor(String.class, "listener", new StringTrimmerEditor(true)); dataBinder.registerCustomEditor(Map.class, "parameters", new PropertyEditorSupport() { + @Override public void setAsText(String text) throws java.lang.IllegalArgumentException { // Trim all whitespace String content = StringUtils.trimAllWhitespace(text); diff --git a/spring-cloud-alibaba-examples/seata-example/business-service/src/main/resources/file.conf b/spring-cloud-alibaba-examples/seata-example/business-service/src/main/resources/file.conf index 39beec98..cb1ab8bb 100644 --- a/spring-cloud-alibaba-examples/seata-example/business-service/src/main/resources/file.conf +++ b/spring-cloud-alibaba-examples/seata-example/business-service/src/main/resources/file.conf @@ -20,15 +20,35 @@ transport { worker-thread-size = 8 } } +## transaction log store store { - # branch session size , if exceeded first try compress lockkey, still exceeded throws exceptions - max-branch-session-size = 16384 - # globe session size , if exceeded throws exceptions - max-global-session-size = 512 - # file buffer size , if exceeded allocate new buffer - file-write-buffer-cache-size = 16384 - # when recover batch read size - session.reload.read_size = 100 + ## store mode: file、db + mode = "file" + + ## file store + file { + dir = "sessionStore" + + # branch session size , if exceeded first try compress lockkey, still exceeded throws exceptions + max-branch-session-size = 16384 + # globe session size , if exceeded throws exceptions + max-global-session-size = 512 + # file buffer size , if exceeded allocate new buffer + file-write-buffer-cache-size = 16384 + # when recover batch read size + session.reload.read_size = 100 + # async, sync + flush-disk-mode = async + } + + ## database store + db { + driver_class = "" + url = "" + user = "" + password = "" + } + } service { #vgroup->rgroup diff --git a/spring-cloud-alibaba-examples/seata-example/business-service/src/main/resources/registry.conf b/spring-cloud-alibaba-examples/seata-example/business-service/src/main/resources/registry.conf index 31bcace5..7d71afaa 100644 --- a/spring-cloud-alibaba-examples/seata-example/business-service/src/main/resources/registry.conf +++ b/spring-cloud-alibaba-examples/seata-example/business-service/src/main/resources/registry.conf @@ -1,5 +1,5 @@ registry { - # file 、nacos 、eureka、redis、zk、consul + # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa type = "file" nacos { @@ -26,6 +26,19 @@ registry { cluster = "default" serverAddr = "127.0.0.1:8500" } + etcd3 { + cluster = "default" + serverAddr = "http://localhost:2379" + } + sofa { + serverAddr = "127.0.0.1:9603" + application = "default" + region = "DEFAULT_ZONE" + datacenter = "DefaultDataCenter" + cluster = "default" + group = "SEATA_GROUP" + addressWaitTime = "3000" + } file { name = "file.conf" } @@ -41,7 +54,7 @@ config { cluster = "default" } apollo { - app.id = "fescar-server" + app.id = "seata-server" apollo.meta = "http://192.168.1.204:8801" } zk { @@ -52,4 +65,4 @@ config { file { name = "file.conf" } -} +} \ No newline at end of file diff --git a/spring-cloud-alibaba-examples/seata-example/order-service/src/main/resources/file.conf b/spring-cloud-alibaba-examples/seata-example/order-service/src/main/resources/file.conf index 2ef4f39a..7213edea 100644 --- a/spring-cloud-alibaba-examples/seata-example/order-service/src/main/resources/file.conf +++ b/spring-cloud-alibaba-examples/seata-example/order-service/src/main/resources/file.conf @@ -20,15 +20,35 @@ transport { worker-thread-size = 8 } } +## transaction log store store { - # branch session size , if exceeded first try compress lockkey, still exceeded throws exceptions - max-branch-session-size = 16384 - # globe session size , if exceeded throws exceptions - max-global-session-size = 512 - # file buffer size , if exceeded allocate new buffer - file-write-buffer-cache-size = 16384 - # when recover batch read size - session.reload.read_size = 100 + ## store mode: file、db + mode = "file" + + ## file store + file { + dir = "sessionStore" + + # branch session size , if exceeded first try compress lockkey, still exceeded throws exceptions + max-branch-session-size = 16384 + # globe session size , if exceeded throws exceptions + max-global-session-size = 512 + # file buffer size , if exceeded allocate new buffer + file-write-buffer-cache-size = 16384 + # when recover batch read size + session.reload.read_size = 100 + # async, sync + flush-disk-mode = async + } + + ## database store + db { + driver_class = "" + url = "" + user = "" + password = "" + } + } service { #vgroup->rgroup diff --git a/spring-cloud-alibaba-examples/seata-example/order-service/src/main/resources/registry.conf b/spring-cloud-alibaba-examples/seata-example/order-service/src/main/resources/registry.conf index 31bcace5..7d71afaa 100644 --- a/spring-cloud-alibaba-examples/seata-example/order-service/src/main/resources/registry.conf +++ b/spring-cloud-alibaba-examples/seata-example/order-service/src/main/resources/registry.conf @@ -1,5 +1,5 @@ registry { - # file 、nacos 、eureka、redis、zk、consul + # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa type = "file" nacos { @@ -26,6 +26,19 @@ registry { cluster = "default" serverAddr = "127.0.0.1:8500" } + etcd3 { + cluster = "default" + serverAddr = "http://localhost:2379" + } + sofa { + serverAddr = "127.0.0.1:9603" + application = "default" + region = "DEFAULT_ZONE" + datacenter = "DefaultDataCenter" + cluster = "default" + group = "SEATA_GROUP" + addressWaitTime = "3000" + } file { name = "file.conf" } @@ -41,7 +54,7 @@ config { cluster = "default" } apollo { - app.id = "fescar-server" + app.id = "seata-server" apollo.meta = "http://192.168.1.204:8801" } zk { @@ -52,4 +65,4 @@ config { file { name = "file.conf" } -} +} \ No newline at end of file diff --git a/spring-cloud-alibaba-examples/seata-example/readme-zh.md b/spring-cloud-alibaba-examples/seata-example/readme-zh.md index 239099a3..9c12eb50 100644 --- a/spring-cloud-alibaba-examples/seata-example/readme-zh.md +++ b/spring-cloud-alibaba-examples/seata-example/readme-zh.md @@ -101,7 +101,7 @@ CREATE TABLE `account_tbl` ( 进入解压之后的 bin 目录,执行如下命令来启动 ```$shell -sh seata-server.sh $LISTEN_PORT $MODE +sh seata-server.sh $LISTEN_PORT $MODE(file or db) ``` 在这个示例中,采用如下命令来启动 Seata Server @@ -110,7 +110,7 @@ sh seata-server.sh $LISTEN_PORT $MODE sh seata-server.sh 8091 file ``` -**注意** 如果你修改了endpoint且注册中心使用默认file类型,那么记得需要在各个示例工程中的 `file.conf` 文件中,修改 grouplist 的值。 +**注意** 如果你修改了endpoint且注册中心使用默认file类型,那么记得需要在各个示例工程中的 `file.conf` 文件中,修改 grouplist 的值(当registry.conf 中registry.type 或 config.type 为file 时会读取内部的file节点中的文件名,若type不为file将直接从配置类型的对应元数据的注册配置中心读取数据),推荐大家使用 nacos 作为配置注册中心。 ## 运行示例 diff --git a/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/resources/file.conf b/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/resources/file.conf index 6c1bebbb..4699d684 100644 --- a/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/resources/file.conf +++ b/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/resources/file.conf @@ -20,15 +20,35 @@ transport { worker-thread-size = 8 } } +## transaction log store store { - # branch session size , if exceeded first try compress lockkey, still exceeded throws exceptions - max-branch-session-size = 16384 - # globe session size , if exceeded throws exceptions - max-global-session-size = 512 - # file buffer size , if exceeded allocate new buffer - file-write-buffer-cache-size = 16384 - # when recover batch read size - session.reload.read_size = 100 + ## store mode: file、db + mode = "file" + + ## file store + file { + dir = "sessionStore" + + # branch session size , if exceeded first try compress lockkey, still exceeded throws exceptions + max-branch-session-size = 16384 + # globe session size , if exceeded throws exceptions + max-global-session-size = 512 + # file buffer size , if exceeded allocate new buffer + file-write-buffer-cache-size = 16384 + # when recover batch read size + session.reload.read_size = 100 + # async, sync + flush-disk-mode = async + } + + ## database store + db { + driver_class = "" + url = "" + user = "" + password = "" + } + } service { #vgroup->rgroup diff --git a/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/resources/registry.conf b/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/resources/registry.conf index 31bcace5..7d71afaa 100644 --- a/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/resources/registry.conf +++ b/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/resources/registry.conf @@ -1,5 +1,5 @@ registry { - # file 、nacos 、eureka、redis、zk、consul + # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa type = "file" nacos { @@ -26,6 +26,19 @@ registry { cluster = "default" serverAddr = "127.0.0.1:8500" } + etcd3 { + cluster = "default" + serverAddr = "http://localhost:2379" + } + sofa { + serverAddr = "127.0.0.1:9603" + application = "default" + region = "DEFAULT_ZONE" + datacenter = "DefaultDataCenter" + cluster = "default" + group = "SEATA_GROUP" + addressWaitTime = "3000" + } file { name = "file.conf" } @@ -41,7 +54,7 @@ config { cluster = "default" } apollo { - app.id = "fescar-server" + app.id = "seata-server" apollo.meta = "http://192.168.1.204:8801" } zk { @@ -52,4 +65,4 @@ config { file { name = "file.conf" } -} +} \ No newline at end of file diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-servlet-gateway-sample/src/main/java/org/springframework/cloud/alibaba/dubbo/gateway/DubboGatewayServlet.java b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-servlet-gateway-sample/src/main/java/org/springframework/cloud/alibaba/dubbo/gateway/DubboGatewayServlet.java index b3c56d24..21eab7e3 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-servlet-gateway-sample/src/main/java/org/springframework/cloud/alibaba/dubbo/gateway/DubboGatewayServlet.java +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-servlet-gateway-sample/src/main/java/org/springframework/cloud/alibaba/dubbo/gateway/DubboGatewayServlet.java @@ -76,6 +76,7 @@ public class DubboGatewayServlet extends HttpServletBean { return serviceName; } + @Override public void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String serviceName = resolveServiceName(request); diff --git a/spring-cloud-alibaba-nacos-config/src/main/java/org/springframework/cloud/alibaba/nacos/NacosPropertySourceRepository.java b/spring-cloud-alibaba-nacos-config/src/main/java/org/springframework/cloud/alibaba/nacos/NacosPropertySourceRepository.java index 0a0cc00c..6fa8e490 100644 --- a/spring-cloud-alibaba-nacos-config/src/main/java/org/springframework/cloud/alibaba/nacos/NacosPropertySourceRepository.java +++ b/spring-cloud-alibaba-nacos-config/src/main/java/org/springframework/cloud/alibaba/nacos/NacosPropertySourceRepository.java @@ -28,25 +28,25 @@ import java.util.concurrent.ConcurrentHashMap; */ public class NacosPropertySourceRepository { - private final static ConcurrentHashMap nacosPropertySourceRepository = new ConcurrentHashMap<>(); + private final static ConcurrentHashMap NACOS_PROPERTY_SOURCE_REPOSITORY = new ConcurrentHashMap<>(); /** * @return all nacos properties from application context */ public static List getAll() { List result = new ArrayList<>(); - result.addAll(nacosPropertySourceRepository.values()); + result.addAll(NACOS_PROPERTY_SOURCE_REPOSITORY.values()); return result; } public static void collectNacosPropertySources( NacosPropertySource nacosPropertySource) { - nacosPropertySourceRepository.putIfAbsent(nacosPropertySource.getDataId(), + NACOS_PROPERTY_SOURCE_REPOSITORY.putIfAbsent(nacosPropertySource.getDataId(), nacosPropertySource); } public static NacosPropertySource getNacosPropertySource(String dataId) { - return nacosPropertySourceRepository.get(dataId); + return NACOS_PROPERTY_SOURCE_REPOSITORY.get(dataId); } } diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosWatch.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosWatch.java index 0eefaf1a..861dc400 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosWatch.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosWatch.java @@ -118,57 +118,10 @@ public class NacosWatch implements ApplicationEventPublisherAware, SmartLifecycl } public void nacosServicesWatch() { - try { - boolean changed = false; - NamingService namingService = properties.namingServiceInstance(); + // nacos doesn't support watch now , publish an event every 30 seconds. + this.publisher.publishEvent( + new HeartbeatEvent(this, nacosWatchIndex.getAndIncrement())); - ListView listView = properties.namingServiceInstance() - .getServicesOfServer(1, Integer.MAX_VALUE); - - List serviceList = listView.getData(); - - // if there are new services found, publish event - Set currentServices = new HashSet<>(serviceList); - currentServices.removeAll(cacheServices); - if (currentServices.size() > 0) { - changed = true; - } - - // if some services disappear, publish event - if (cacheServices.removeAll(new HashSet<>(serviceList)) - && cacheServices.size() > 0) { - changed = true; - - for (String serviceName : cacheServices) { - namingService.unsubscribe(serviceName, - subscribeListeners.get(serviceName)); - subscribeListeners.remove(serviceName); - } - } - - cacheServices = new HashSet<>(serviceList); - - // subscribe services's node change, publish event if nodes changed - for (String serviceName : cacheServices) { - if (!subscribeListeners.containsKey(serviceName)) { - EventListener eventListener = event -> NacosWatch.this.publisher - .publishEvent(new HeartbeatEvent(NacosWatch.this, - nacosWatchIndex.getAndIncrement())); - subscribeListeners.put(serviceName, eventListener); - namingService.subscribe(serviceName, eventListener); - - } - } - - if (changed) { - this.publisher.publishEvent( - new HeartbeatEvent(this, nacosWatchIndex.getAndIncrement())); - } - - } - catch (Exception e) { - log.error("Error watching Nacos Service change", e); - } } } diff --git a/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/feign/SentinelContractHolder.java b/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/feign/SentinelContractHolder.java index 6056e800..e1a43d2e 100644 --- a/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/feign/SentinelContractHolder.java +++ b/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/feign/SentinelContractHolder.java @@ -25,7 +25,7 @@ import feign.MethodMetadata; /** * - * Using static field {@link SentinelContractHolder#metadataMap} to hold + * Using static field {@link SentinelContractHolder#METADATA_MAP} to hold * {@link MethodMetadata} data * * @author Jim @@ -38,7 +38,7 @@ public class SentinelContractHolder implements Contract { * map key is constructed by ClassFullName + configKey. configKey is constructed by * {@link feign.Feign#configKey} */ - public final static Map metadataMap = new HashMap(); + public final static Map METADATA_MAP = new HashMap<>(); public SentinelContractHolder(Contract delegate) { this.delegate = delegate; @@ -47,7 +47,7 @@ public class SentinelContractHolder implements Contract { @Override public List parseAndValidatateMetadata(Class targetType) { List metadatas = delegate.parseAndValidatateMetadata(targetType); - metadatas.forEach(metadata -> metadataMap + metadatas.forEach(metadata -> METADATA_MAP .put(targetType.getName() + metadata.configKey(), metadata)); return metadatas; } diff --git a/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/feign/SentinelInvocationHandler.java b/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/feign/SentinelInvocationHandler.java index eda5ef5d..7e7614e8 100644 --- a/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/feign/SentinelInvocationHandler.java +++ b/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/feign/SentinelInvocationHandler.java @@ -90,7 +90,7 @@ public class SentinelInvocationHandler implements InvocationHandler { // only handle by HardCodedTarget if (target instanceof Target.HardCodedTarget) { Target.HardCodedTarget hardCodedTarget = (Target.HardCodedTarget) target; - MethodMetadata methodMetadata = SentinelContractHolder.metadataMap + MethodMetadata methodMetadata = SentinelContractHolder.METADATA_MAP .get(hardCodedTarget.type().getName() + Feign.configKey(hardCodedTarget.type(), method)); // resource default is HttpMethod:protocol://url diff --git a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsProperties.java b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsProperties.java index 33577863..11ba8cb7 100644 --- a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsProperties.java +++ b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsProperties.java @@ -12,12 +12,12 @@ public class SmsProperties { /** * Product name. */ - public static final String smsProduct = "Dysmsapi"; + public static final String SMS_PRODUCT = "Dysmsapi"; /** * Product domain. */ - public static final String smsDomain = "dysmsapi.aliyuncs.com"; + public static final String SMS_DOMAIN = "dysmsapi.aliyuncs.com"; /** * Report queue name. diff --git a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/SmsInitializerEventListener.java b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/SmsInitializerEventListener.java index 78253878..4133d498 100644 --- a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/SmsInitializerEventListener.java +++ b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/SmsInitializerEventListener.java @@ -60,7 +60,7 @@ public class SmsInitializerEventListener // 初始化acsClient,暂不支持region化 try { DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", - SmsProperties.smsProduct, SmsProperties.smsDomain); + SmsProperties.SMS_PRODUCT, SmsProperties.SMS_DOMAIN); Collection messageListeners = event.getApplicationContext() .getBeansOfType(MessageListener.class).values(); if (messageListeners.isEmpty()) { diff --git a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/DefaultAlicomMessagePuller.java b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/DefaultAlicomMessagePuller.java index df03a071..4d23ccff 100755 --- a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/DefaultAlicomMessagePuller.java +++ b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/DefaultAlicomMessagePuller.java @@ -85,8 +85,8 @@ public class DefaultAlicomMessagePuller { this.executorService = executorService; } - protected static final Map sLockObjMap = new HashMap(); - protected static Map sPollingMap = new ConcurrentHashMap(); + protected static final Map S_LOCK_OBJ_MAP = new HashMap<>(); + protected static Map sPollingMap = new ConcurrentHashMap<>(); protected Object lockObj; public boolean setPolling(String queueName) { @@ -309,11 +309,11 @@ public class DefaultAlicomMessagePuller { task.messageType = messageType; task.queueName = queueName; - synchronized (sLockObjMap) { - lockObj = sLockObjMap.get(queueName); + synchronized (S_LOCK_OBJ_MAP) { + lockObj = S_LOCK_OBJ_MAP.get(queueName); if (lockObj == null) { lockObj = new Object(); - sLockObjMap.put(queueName, lockObj); + S_LOCK_OBJ_MAP.put(queueName, lockObj); } } @@ -355,11 +355,11 @@ public class DefaultAlicomMessagePuller { task.messageType = messageType; task.queueName = queueName; - synchronized (sLockObjMap) { - lockObj = sLockObjMap.get(queueName); + synchronized (S_LOCK_OBJ_MAP) { + lockObj = S_LOCK_OBJ_MAP.get(queueName); if (lockObj == null) { lockObj = new Object(); - sLockObjMap.put(queueName, lockObj); + S_LOCK_OBJ_MAP.put(queueName, lockObj); } } @@ -402,11 +402,11 @@ public class DefaultAlicomMessagePuller { task.messageType = messageType; task.queueName = queueName; - synchronized (sLockObjMap) { - lockObj = sLockObjMap.get(queueName); + synchronized (S_LOCK_OBJ_MAP) { + lockObj = S_LOCK_OBJ_MAP.get(queueName); if (lockObj == null) { lockObj = new Object(); - sLockObjMap.put(queueName, lockObj); + S_LOCK_OBJ_MAP.put(queueName, lockObj); } } diff --git a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/QueryTokenForMnsQueueRequest.java b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/QueryTokenForMnsQueueRequest.java index 956ecadb..1de389ca 100644 --- a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/QueryTokenForMnsQueueRequest.java +++ b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/QueryTokenForMnsQueueRequest.java @@ -76,6 +76,7 @@ public class QueryTokenForMnsQueueRequest } + @Override public Class getResponseClass() { return QueryTokenForMnsQueueResponse.class; } diff --git a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/QueryTokenForMnsQueueResponse.java b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/QueryTokenForMnsQueueResponse.java index 56c40171..5e296ed6 100644 --- a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/QueryTokenForMnsQueueResponse.java +++ b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/QueryTokenForMnsQueueResponse.java @@ -60,6 +60,7 @@ public class QueryTokenForMnsQueueResponse extends AcsResponse { this.messageTokenDTO = messageTokenDTO; } + @Override public QueryTokenForMnsQueueResponse getInstance(UnmarshallerContext context) { return QueryTokenForMnsQueueResponseUnmarshaller.unmarshall(this, context); } diff --git a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/TokenGetterForAlicom.java b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/TokenGetterForAlicom.java index e312ec36..3daf1c83 100755 --- a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/TokenGetterForAlicom.java +++ b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/base/TokenGetterForAlicom.java @@ -50,7 +50,7 @@ public class TokenGetterForAlicom { private String domainForPop; private IAcsClient iAcsClient; private Long ownerId; - private final static String productName = "Dybaseapi"; + private final static String PRODUCT_NAME = "Dybaseapi"; private long bufferTime = 1000 * 60 * 2;// 过期时间小于2分钟则重新获取,防止服务器时间误差 private final Object lock = new Object(); private ConcurrentMap tokenMap = new ConcurrentHashMap(); @@ -68,7 +68,7 @@ public class TokenGetterForAlicom { } private void init() throws ClientException { - DefaultProfile.addEndpoint(endpointNameForPop, regionIdForPop, productName, + DefaultProfile.addEndpoint(endpointNameForPop, regionIdForPop, PRODUCT_NAME, domainForPop); IClientProfile profile = DefaultProfile.getProfile(regionIdForPop, accessKeyId, accessKeySecret);