diff --git a/CHANGELOG.md b/CHANGELOG.md index d012ae05b..e9e6cc85f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,3 +6,5 @@ - [Optimize: remove useless code for rest template router](https://github.com/Tencent/spring-cloud-tencent/pull/601) - [Optimize: optimize configuration conditional & optimize config data tips](https://github.com/Tencent/spring-cloud-tencent/pull/603) - [Automatically transmit some headers specified by a environment varaible that directly defines header keys.](https://github.com/Tencent/spring-cloud-tencent/pull/606) +- [Optimize: Maybe remove Chinese characters](https://github.com/Tencent/spring-cloud-tencent/pull/607) +- [ fix pr #606 cause ci fail](https://github.com/Tencent/spring-cloud-tencent/pull/613) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c5b1e573f..86f23b37b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ # Contributing --- -If you have good comments or suggestions, welcome to create [Issues](https://github.com/Tencent/spring-cloud-tencent/issues) or [Pull Requests](https://github.com/Tencent/spring-cloud-tencent/pulls),contribute to the Spring Cloud Tencent open source community. Spring Cloud Tencent continues to recruit contributors, even if it is answering questions in the issue, or doing some simple bugfixes, it will be of great help to Spring Cloud Tencent. +If you have good comments or suggestions, welcome to create [Issues](https://github.com/Tencent/spring-cloud-tencent/issues) or [Pull Requests](https://github.com/Tencent/spring-cloud-tencent/pulls), contribute to the Spring Cloud Tencent open source community. Spring Cloud Tencent continues to recruit contributors, even if it is answering questions in the issue, or doing some simple bugfixes, it will be of great help to Spring Cloud Tencent. [Tencent Open Source Incentive Program](https://opensource.tencent.com/contribution) Encourage developers to participate and contribute, and look forward to your joining. diff --git a/README-zh.md b/README-zh.md index 2eed3f1fb..8eb306782 100644 --- a/README-zh.md +++ b/README-zh.md @@ -113,7 +113,7 @@ You can build this project with command: - [Actuator Endpoint Extension](https://github.com/Tencent/spring-cloud-tencent/wiki/Actuator-Endpoint-%E6%89%A9%E5%B1%95) - 最佳实践 - - [Multi-feature environment](https://github.com/Tencent/spring-cloud-tencent/wiki/多特性环境) + - [Multi-feature environment](https://github.com/Tencent/spring-cloud-tencent/wiki/%E5%A4%9A%E7%89%B9%E6%80%A7%E7%8E%AF%E5%A2%83) - [Multi-registration and multi-discovery](https://github.com/Tencent/spring-cloud-tencent/wiki/Multi-registration-and-multi-discovery) - 开发文档 diff --git a/README.md b/README.md index 1d8024c1f..d3a350a8d 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,7 @@ You can build this project with command: - [Actuator Endpoint Extension](https://github.com/Tencent/spring-cloud-tencent/wiki/Actuator-Endpoint-%E6%89%A9%E5%B1%95) - Best Practices - - [Multi-feature environment](https://github.com/Tencent/spring-cloud-tencent/wiki/多特性环境) + - [Multi-feature environment](https://github.com/Tencent/spring-cloud-tencent/wiki/%E5%A4%9A%E7%89%B9%E6%80%A7%E7%8E%AF%E5%A2%83) - [Multi-registration and multi-discovery](https://github.com/Tencent/spring-cloud-tencent/wiki/Multi-registration-and-multi-discovery) - Development documentation diff --git a/changes/changes-1.7.0.md b/changes/changes-1.7.0.md index 4089d1fd7..185420071 100644 --- a/changes/changes-1.7.0.md +++ b/changes/changes-1.7.0.md @@ -22,7 +22,7 @@ - [Optimize router label resolver spi](https://github.com/Tencent/spring-cloud-tencent/pull/524) - [Code optimization for rpc-enhancement module](https://github.com/Tencent/spring-cloud-tencent/pull/526) - [Feature: Optimized configuration update](https://github.com/Tencent/spring-cloud-tencent/pull/528) -- [Feature:support pushGateway push metrics](https://github.com/Tencent/spring-cloud-tencent/pull/529) +- [Feature: support pushGateway push metrics](https://github.com/Tencent/spring-cloud-tencent/pull/529) - [Feature: remove location metadata](https://github.com/Tencent/spring-cloud-tencent/pull/536) - [Feature: remove location metadata](https://github.com/Tencent/spring-cloud-tencent/pull/542) - [add feature-env plugin & add spring cloud gateway staining plugin](https://github.com/Tencent/spring-cloud-tencent/pull/533) diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilter.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilter.java index 104af37b6..cd6453c69 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilter.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilter.java @@ -104,7 +104,7 @@ public class DecodeTransferMetadataReactiveFilter implements WebFilter, Ordered .getFragmentContext(FRAGMENT_RAW_TRANSHEADERS); if (!CollectionUtils.isEmpty(transHeaderMetadata)) { Optional transHeaders = transHeaderMetadata.keySet().stream().findFirst(); - String[] transHeaderArray = transHeaders.get().split(";"); + String[] transHeaderArray = transHeaders.get().split(","); HttpHeaders headers = serverHttpRequest.getHeaders(); Set headerKeys = headers.keySet(); Iterator iterator = headerKeys.iterator(); diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilter.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilter.java index cdf1f8e4e..83dce6bbd 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilter.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilter.java @@ -91,7 +91,7 @@ public class DecodeTransferMetadataServletFilter extends OncePerRequestFilter { .getFragmentContext(FRAGMENT_RAW_TRANSHEADERS); if (!CollectionUtils.isEmpty(transHeaderMetadata)) { Optional transHeaders = transHeaderMetadata.keySet().stream().findFirst(); - String[] transHeaderArray = transHeaders.get().split(";"); + String[] transHeaderArray = transHeaders.get().split(","); Enumeration httpHeaders = httpServletRequest.getHeaderNames(); while (httpHeaders.hasMoreElements()) { String httpHeader = httpHeaders.nextElement(); diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilter.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilter.java index bd6b07ab2..97db4fb6c 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilter.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilter.java @@ -102,7 +102,7 @@ public class EncodeTransferMedataScgFilter implements GlobalFilter, Ordered { .getFragmentContext(FRAGMENT_RAW_TRANSHEADERS); if (!CollectionUtils.isEmpty(transHeaderMetadata)) { Optional transHeaders = transHeaderMetadata.keySet().stream().findFirst(); - String[] transHeaderArray = transHeaders.get().split(";"); + String[] transHeaderArray = transHeaders.get().split(","); HttpHeaders headers = serverHttpRequest.getHeaders(); Set headerKeys = headers.keySet(); Iterator iterator = headerKeys.iterator(); diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigAnnotationProcessor.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigAnnotationProcessor.java index 04e3ea490..b137c4909 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigAnnotationProcessor.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigAnnotationProcessor.java @@ -40,7 +40,7 @@ import static com.tencent.cloud.polaris.config.listener.PolarisConfigListenerCon /** * {@link PolarisConfigAnnotationProcessor} implementation for spring . - *

This source file was reference from: + *

This source file was reference from: * * ApolloAnnotationProcessor * @author Palmer Xu 2022-06-07 diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigKVFileChangeListener.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigKVFileChangeListener.java index d5e291996..eba43e819 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigKVFileChangeListener.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/annotation/PolarisConfigKVFileChangeListener.java @@ -26,7 +26,7 @@ import java.lang.annotation.Target; /** * Configuring the change listener annotation. - *

This source file was reference from: + *

This source file was reference from: * * ApolloAnnotationProcessor * @author Palmer Xu 2022-05-31 diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLoader.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLoader.java index 2e6473df7..300ea1bb3 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLoader.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLoader.java @@ -52,7 +52,7 @@ import static org.springframework.boot.context.config.ConfigData.Option.PROFILE_ * Load {@link ConfigData} via {@link PolarisConfigDataLoader} * * @author wlx - * @date 2022/7/5 11:14 下午 + * @date 2022/7/5 11:14 PM */ public class PolarisConfigDataLoader implements ConfigDataLoader { diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataResource.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataResource.java index 04b81a487..c0a33566b 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataResource.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataResource.java @@ -30,7 +30,7 @@ import org.springframework.boot.context.config.Profiles; * A polaris configData resource from which {@link ConfigData} can be loaded. * * @author wlx - * @date 2022/7/5 11:13 下午 + * @date 2022/7/5 11:13 PM */ public class PolarisConfigDataResource extends ConfigDataResource { diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisImportExceptionFailureAnalyzer.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisImportExceptionFailureAnalyzer.java index 2f29d923c..245dc7001 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisImportExceptionFailureAnalyzer.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisImportExceptionFailureAnalyzer.java @@ -7,7 +7,7 @@ import org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcess /** * Class for most {@code FailureAnalyzer} implementations, to analyze ImportException when * miss Polaris configData config. - *

Refer to the Nacos project implementation: + *

Refer to the Nacos project implementation: * * ImportExceptionFailureAnalyzer * diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigListenerContext.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigListenerContext.java index 01aebbb46..07edc90e4 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigListenerContext.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigListenerContext.java @@ -49,7 +49,7 @@ import static com.tencent.polaris.configuration.api.core.ChangeType.MODIFIED; /** * Polaris Config Listener Context Defined . - *

This source file was reference from: + *

This source file was reference from: * * AbstractConfig * @author Palmer Xu 2022-06-06 diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java index 27747c347..9ce4456ad 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java @@ -22,22 +22,21 @@ import org.slf4j.LoggerFactory; import org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration; import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationProperties; -import org.springframework.cloud.client.serviceregistry.Registration; import org.springframework.cloud.client.serviceregistry.ServiceRegistry; import org.springframework.util.StringUtils; /** * Auto service registration of Polaris. * - * @author Haotian Zhang, Andrew Shan, Jie Cheng + * @author Haotian Zhang, Andrew Shan, Jie Cheng, changjin wei(魏昌进) */ -public class PolarisAutoServiceRegistration extends AbstractAutoServiceRegistration { +public class PolarisAutoServiceRegistration extends AbstractAutoServiceRegistration { private static final Logger LOGGER = LoggerFactory.getLogger(PolarisAutoServiceRegistration.class); private final PolarisRegistration registration; - public PolarisAutoServiceRegistration(ServiceRegistry serviceRegistry, + public PolarisAutoServiceRegistration(ServiceRegistry serviceRegistry, AutoServiceRegistrationProperties autoServiceRegistrationProperties, PolarisRegistration registration) { super(serviceRegistry, autoServiceRegistrationProperties); this.registration = registration; diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java index 799096a2a..7ff1c2e39 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java @@ -36,7 +36,7 @@ import org.springframework.util.CollectionUtils; /** * Registration object of Polaris. * - * @author Haotian Zhang, Andrew Shan, Jie Cheng + * @author Haotian Zhang, Andrew Shan, Jie Cheng, changjin wei(魏昌进) */ public class PolarisRegistration implements Registration { @@ -55,6 +55,8 @@ public class PolarisRegistration implements Registration { private String host; + private String instanceId; + public PolarisRegistration( PolarisDiscoveryProperties polarisDiscoveryProperties, @Nullable ConsulContextProperties consulContextProperties, @@ -120,6 +122,15 @@ public class PolarisRegistration implements Registration { return polarisDiscoveryProperties; } + @Override + public String getInstanceId() { + return instanceId; + } + + protected void setInstanceId(String instanceId) { + this.instanceId = instanceId; + } + public boolean isRegisterEnabled() { boolean registerEnabled = false; @@ -141,6 +152,8 @@ public class PolarisRegistration implements Registration { ", polarisContext=" + polarisContext + ", staticMetadataManager=" + staticMetadataManager + ", metadata=" + metadata + + ", host='" + host + '\'' + + ", instanceId='" + instanceId + '\'' + '}'; } } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java index 5a78e913b..e27bb27b2 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java @@ -31,6 +31,7 @@ import com.tencent.polaris.api.pojo.Instance; import com.tencent.polaris.api.rpc.InstanceDeregisterRequest; import com.tencent.polaris.api.rpc.InstanceHeartbeatRequest; import com.tencent.polaris.api.rpc.InstanceRegisterRequest; +import com.tencent.polaris.api.rpc.InstanceRegisterResponse; import com.tencent.polaris.api.rpc.InstancesResponse; import com.tencent.polaris.client.util.NamedThreadFactory; import org.apache.commons.lang.StringUtils; @@ -38,7 +39,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; -import org.springframework.cloud.client.serviceregistry.Registration; import org.springframework.cloud.client.serviceregistry.ServiceRegistry; import static java.util.concurrent.TimeUnit.SECONDS; @@ -47,9 +47,9 @@ import static org.springframework.util.ReflectionUtils.rethrowRuntimeException; /** * Service registry of Polaris. * - * @author Haotian Zhang, Andrew Shan, Jie Cheng + * @author Haotian Zhang, Andrew Shan, Jie Cheng, changjin wei(魏昌进) */ -public class PolarisServiceRegistry implements ServiceRegistry { +public class PolarisServiceRegistry implements ServiceRegistry { private static final Logger LOGGER = LoggerFactory.getLogger(PolarisServiceRegistry.class); @@ -78,7 +78,7 @@ public class PolarisServiceRegistry implements ServiceRegistry { } @Override - public void register(Registration registration) { + public void register(PolarisRegistration registration) { if (StringUtils.isBlank(registration.getServiceId())) { LOGGER.warn("No service to register for polaris client..."); @@ -103,7 +103,8 @@ public class PolarisServiceRegistry implements ServiceRegistry { instanceRegisterRequest.setVersion(polarisDiscoveryProperties.getVersion()); try { ProviderAPI providerClient = polarisDiscoveryHandler.getProviderAPI(); - providerClient.register(instanceRegisterRequest); + InstanceRegisterResponse instanceRegisterResponse = providerClient.register(instanceRegisterRequest); + registration.setInstanceId(instanceRegisterResponse.getInstanceId()); LOGGER.info("polaris registry, {} {} {}:{} {} register finished", polarisDiscoveryProperties.getNamespace(), registration.getServiceId(), registration.getHost(), registration.getPort(), staticMetadataManager.getMergedStaticMetadata()); @@ -122,7 +123,7 @@ public class PolarisServiceRegistry implements ServiceRegistry { } @Override - public void deregister(Registration registration) { + public void deregister(PolarisRegistration registration) { LOGGER.info("De-registering from Polaris Server now..."); if (StringUtils.isEmpty(registration.getServiceId())) { @@ -158,12 +159,12 @@ public class PolarisServiceRegistry implements ServiceRegistry { } @Override - public void setStatus(Registration registration, String status) { + public void setStatus(PolarisRegistration registration, String status) { } @Override - public Object getStatus(Registration registration) { + public Object getStatus(PolarisRegistration registration) { String serviceName = registration.getServiceId(); InstancesResponse instancesResponse = polarisDiscoveryHandler.getInstances(serviceName); Instance[] instances = instancesResponse.getInstances(); diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/util/OkHttpUtil.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/util/OkHttpUtil.java index df9db0be5..77dd62f4a 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/util/OkHttpUtil.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/util/OkHttpUtil.java @@ -62,12 +62,12 @@ public final class OkHttpUtil { if (response.isSuccessful() && Objects.nonNull(response.body())) { String result = response.body().string(); - LOGGER.debug("exec get request, url: {} success,response data: {}", url, result); + LOGGER.debug("exec get request, url: {} success, response data: {}", url, result); return true; } } catch (Exception e) { - LOGGER.error("exec get request,url: {} failed!", url, e); + LOGGER.error("exec get request, url: {} failed!", url, e); } return false; } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistrationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistrationTest.java index 1414b3d27..9e4a19cb5 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistrationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistrationTest.java @@ -25,7 +25,6 @@ import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationProperties; -import org.springframework.cloud.client.serviceregistry.Registration; import org.springframework.cloud.client.serviceregistry.ServiceRegistry; import org.springframework.context.ApplicationContext; import org.springframework.core.env.Environment; @@ -48,7 +47,7 @@ import static org.mockito.Mockito.doReturn; public class PolarisAutoServiceRegistrationTest { @Mock - private ServiceRegistry serviceRegistry; + private ServiceRegistry serviceRegistry; @Mock private AutoServiceRegistrationProperties autoServiceRegistrationProperties; @@ -71,7 +70,7 @@ public class PolarisAutoServiceRegistrationTest { public void setUp() { doReturn(polarisDiscoveryProperties).when(registration).getPolarisProperties(); - doNothing().when(serviceRegistry).register(nullable(Registration.class)); + doNothing().when(serviceRegistry).register(nullable(PolarisRegistration.class)); polarisAutoServiceRegistration = new PolarisAutoServiceRegistration(serviceRegistry, autoServiceRegistrationProperties, registration); diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java index 3fe11f38e..ed8d4cdff 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java @@ -26,6 +26,7 @@ import com.tencent.cloud.common.metadata.config.MetadataLocalProperties; import com.tencent.cloud.common.util.ApplicationContextAwareUtils; import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import static com.tencent.cloud.common.metadata.MetadataContext.FRAGMENT_DISPOSABLE; import static com.tencent.cloud.common.metadata.MetadataContext.FRAGMENT_RAW_TRANSHEADERS; @@ -70,6 +71,10 @@ public final class MetadataContextHolder { metadataContext.putFragmentContext(FRAGMENT_DISPOSABLE, staticMetadataManager.getMergedStaticDisposableMetadata()); metadataContext.putContext(FRAGMENT_RAW_TRANSHEADERS, staticMetadataManager.getEnvTransHeaderMetadata(), ""); + if (StringUtils.hasText(staticMetadataManager.getTransHeaderFromEnv())) { + metadataContext.putContext(FRAGMENT_RAW_TRANSHEADERS, staticMetadataManager.getTransHeaderFromEnv(), ""); + } + METADATA_CONTEXT.set(metadataContext); return METADATA_CONTEXT.get(); diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/StaticMetadataManager.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/StaticMetadataManager.java index b983bc906..752df6332 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/StaticMetadataManager.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/StaticMetadataManager.java @@ -56,11 +56,11 @@ public class StaticMetadataManager { private static final String ENV_METADATA_CONTENT_TRANSITIVE = "SCT_METADATA_CONTENT_TRANSITIVE"; private static final String ENV_METADATA_CONTENT_DISPOSABLE = "SCT_METADATA_CONTENT_DISPOSABLE"; /** - * This is the key of the header's key list needed to be transmitted. The list is a string split with ;. + * This is the key of the header's key list needed to be transmitted. The list is a string split with ,. * The value mapped by this key was specified by user. * This is configured in environment variables. */ - private static final String ENV_METADATA_CONTENT_RAW_TRANSHEADERS = "SCT_METADATA_CONTENT_RAW_TRANSHEADERS"; + private static final String ENV_TRAFFIC_CONTENT_RAW_TRANSHEADERS = "SCT_TRAFFIC_CONTENT_RAW_TRANSHEADERS"; private static final String ENV_METADATA_ZONE = "SCT_METADATA_ZONE"; private static final String ENV_METADATA_REGION = "SCT_METADATA_REGION"; private static final String ENV_METADATA_CAMPUS = "SCT_METADATA_CAMPUS"; @@ -107,7 +107,7 @@ public class StaticMetadataManager { if (StringUtils.isNotBlank(key) && key.startsWith(ENV_METADATA_PREFIX) && !key.equals(ENV_METADATA_CONTENT_TRANSITIVE)) { String sourceKey = ""; - if (key.equals(ENV_METADATA_CONTENT_RAW_TRANSHEADERS)) { + if (key.equals(ENV_TRAFFIC_CONTENT_RAW_TRANSHEADERS)) { sourceKey = key; } else { @@ -282,8 +282,8 @@ public class StaticMetadataManager { return envMetadata; } - public String getEnvTransHeaderMetadata() { - return envMetadata.get(ENV_METADATA_CONTENT_RAW_TRANSHEADERS); + public String getTransHeaderFromEnv() { + return envMetadata.get(ENV_TRAFFIC_CONTENT_RAW_TRANSHEADERS); } public Map getEnvTransitiveMetadata() { diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/pojo/PolarisServiceInstance.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/pojo/PolarisServiceInstance.java index 787abe3bf..d6abcdf69 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/pojo/PolarisServiceInstance.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/pojo/PolarisServiceInstance.java @@ -29,7 +29,7 @@ import org.springframework.cloud.client.ServiceInstance; /** * Polaris's implementation of {@link ServiceInstance}. * - * @author Haotian Zhang + * @author Haotian Zhang, changjin wei(魏昌进) */ public class PolarisServiceInstance implements ServiceInstance { @@ -56,7 +56,7 @@ public class PolarisServiceInstance implements ServiceInstance { @Override public String getInstanceId() { - return ServiceInstance.super.getInstanceId(); + return instance.getId(); } @Override diff --git a/spring-cloud-tencent-examples/metadata-transfer-example/README.md b/spring-cloud-tencent-examples/metadata-transfer-example/README.md index 5fd736ba5..d2d524bf8 100644 --- a/spring-cloud-tencent-examples/metadata-transfer-example/README.md +++ b/spring-cloud-tencent-examples/metadata-transfer-example/README.md @@ -5,7 +5,7 @@ This example shows how to use ```spring-cloud-starter-tencent-metadata-transfer``` in Spring Cloud project for its features. -This example contains ```metadata-frontend```、```metadata-middle```、```metadata-backend```. +This example contains ```metadata-frontend```, ```metadata-middle```, ```metadata-backend```. ## Instruction @@ -55,7 +55,7 @@ Execute under ```spring-cloud-tencent-examples/metadata-transfer-example``` mvn clean package ``` -Then find the jars under ```metadata-frontend```、```metadata-middle```、```metadata-backend```, and run it: +Then find the jars under ```metadata-frontend```, ```metadata-middle```, ```metadata-backend```, and run it: ``` java -jar ${app.jar} diff --git a/spring-cloud-tencent-examples/polaris-config-data-example/src/main/java/com/tencent/cloud/polaris/config/example/PolarisConfigDataExampleApplication.java b/spring-cloud-tencent-examples/polaris-config-data-example/src/main/java/com/tencent/cloud/polaris/config/example/PolarisConfigDataExampleApplication.java index 8c4e38762..78eec0f17 100644 --- a/spring-cloud-tencent-examples/polaris-config-data-example/src/main/java/com/tencent/cloud/polaris/config/example/PolarisConfigDataExampleApplication.java +++ b/spring-cloud-tencent-examples/polaris-config-data-example/src/main/java/com/tencent/cloud/polaris/config/example/PolarisConfigDataExampleApplication.java @@ -5,7 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; /** * @author wlx - * @date 2022/7/6 9:15 下午 + * @date 2022/7/6 9:15 PM */ @SpringBootApplication public class PolarisConfigDataExampleApplication { diff --git a/spring-cloud-tencent-examples/polaris-router-featureenv-example/README.md b/spring-cloud-tencent-examples/polaris-router-featureenv-example/README.md index e0853aef2..8cf15c314 100644 --- a/spring-cloud-tencent-examples/polaris-router-featureenv-example/README.md +++ b/spring-cloud-tencent-examples/polaris-router-featureenv-example/README.md @@ -32,7 +32,7 @@ By default, the applications point to the official Polaris experience environmen registration data at the experience site after a successful launch. - Console address: http://14.116.241.63:8080/ - - Account:polaris + - Account: polaris - Password: polaris ## III. Testing @@ -89,7 +89,7 @@ Simulate a real-world scenario, assuming that the client request has a uid reque **Configure coloring rules** -Polaris Configuration Address:http://14.116.241.63:8080/#/filegroup-detail?group=featureenv-gateway&namespace=default +Polaris Configuration Address: http://14.116.241.63:8080/#/filegroup-detail?group=featureenv-gateway&namespace=default Modify the `rule/staining.json` configuration file and fill in the following rule: diff --git a/spring-cloud-tencent-examples/polaris-router-grayrelease-example/README.md b/spring-cloud-tencent-examples/polaris-router-grayrelease-example/README.md index 8ad68bbeb..4359bfcd8 100644 --- a/spring-cloud-tencent-examples/polaris-router-grayrelease-example/README.md +++ b/spring-cloud-tencent-examples/polaris-router-grayrelease-example/README.md @@ -10,10 +10,10 @@ This project shows how to use Spring Cloud Tencent route and transitive feature ![](https://qcloudimg.tencent-cloud.cn/raw/488182fd3001b3e77d9450e2c8798ff3.png) -Incoming requests dispatched from Gateway service to 3 environments: +Incoming requests dispatched from Gateway service to 3 environments: - gray1(match uid=1), env=green(green environment) - gray2(match uid=2), env=purple(purple environment) -- baseline(stable environment, match all other requests), env=blue(blue environment) +- baseline(stable environment, match all other requests), env=blue(blue environment) ## How to access @@ -26,8 +26,8 @@ Incoming requests dispatched from Gateway service to 3 environments: 2. start router-grayrelease-gateway application - - Launch by IDE:Start the main class `GrayReleaseGatewayApplication`. - - Launch by Jar:Execute `mvn clean package` to compile with jar package, then use `java -jar router-grayrelease-gateway-${verion}.jar` to launch application. + - Launch by IDE: Start the main class `GrayReleaseGatewayApplication`. + - Launch by Jar: Execute `mvn clean package` to compile with jar package, then use `java -jar router-grayrelease-gateway-${verion}.jar` to launch application. 3. add the route rule @@ -136,13 +136,13 @@ Incoming requests dispatched from Gateway service to 3 environments: - polaris server address: polaris_address=grpc://127.0.0.1:8091 - pushgateway address: prometheus_address=127.0.0.1:9091 - - env tag:SCT_METADATA_CONTENT_env=blue - - transitive tag:SCT_METADATA_CONTENT_TRANSITIVE=env + - env tag: SCT_METADATA_CONTENT_env=blue + - transitive tag: SCT_METADATA_CONTENT_TRANSITIVE=env 2. start router-grayrelease-frontend application - - Launch by IDE:Start the main class `GrayReleaseFrontApplication`. - - Launch by Jar:Execute `mvn clean package` to compile with jar package, then use `java -jar router-grayrelease-frontend-${verion}.jar` to launch application. + - Launch by IDE: Start the main class `GrayReleaseFrontApplication`. + - Launch by Jar: Execute `mvn clean package` to compile with jar package, then use `java -jar router-grayrelease-frontend-${verion}.jar` to launch application. #### Start gray1 environment (green) @@ -150,8 +150,8 @@ Incoming requests dispatched from Gateway service to 3 environments: - polaris server address: polaris_address=grpc://127.0.0.1:8091 - pushgateway address: prometheus_address=127.0.0.1:9091 - - env tag:SCT_METADATA_CONTENT_env=green - - transitive tag:SCT_METADATA_CONTENT_TRANSITIVE=env + - env tag: SCT_METADATA_CONTENT_env=green + - transitive tag: SCT_METADATA_CONTENT_TRANSITIVE=env 2. start router-grayrelease-frontend application (same as previous instruction) @@ -163,8 +163,8 @@ Incoming requests dispatched from Gateway service to 3 environments: - polaris server address: polaris_address=grpc://127.0.0.1:8091 - pushgateway address: prometheus_address=127.0.0.1:9091 - - env tag:SCT_METADATA_CONTENT_env=purple - - transitive tag:SCT_METADATA_CONTENT_TRANSITIVE=env + - env tag: SCT_METADATA_CONTENT_env=purple + - transitive tag: SCT_METADATA_CONTENT_TRANSITIVE=env 2. start router-grayrelease-frontend application (same as previous instruction) @@ -182,13 +182,13 @@ You can find the instances with different tags in polaris console. - polaris server address: polaris_address=grpc://127.0.0.1:8091 - pushgateway address: prometheus_address=127.0.0.1:9091 - - env tag:SCT_METADATA_CONTENT_env=blue - - transitive tag:SCT_METADATA_CONTENT_TRANSITIVE=env + - env tag: SCT_METADATA_CONTENT_env=blue + - transitive tag: SCT_METADATA_CONTENT_TRANSITIVE=env 2. start router-grayrelease-middle application - - Launch by IDE:Start the main class `GrayReleaseMiddleApplication`. - - Launch by Jar:Execute `mvn clean package` to compile with jar package, then use `java -jar router-grayrelease-middle-${verion}.jar` to launch application. + - Launch by IDE: Start the main class `GrayReleaseMiddleApplication`. + - Launch by Jar: Execute `mvn clean package` to compile with jar package, then use `java -jar router-grayrelease-middle-${verion}.jar` to launch application. #### Start gray2 environment (purple) @@ -196,8 +196,8 @@ You can find the instances with different tags in polaris console. - polaris server address: polaris_address=grpc://127.0.0.1:8091 - pushgateway address: prometheus_address=127.0.0.1:9091 - - env tag:SCT_METADATA_CONTENT_env=purple - - transitive tag:SCT_METADATA_CONTENT_TRANSITIVE=env + - env tag: SCT_METADATA_CONTENT_env=purple + - transitive tag: SCT_METADATA_CONTENT_TRANSITIVE=env 2. start router-grayrelease-middle application (same as previous instruction) @@ -209,13 +209,13 @@ You can find the instances with different tags in polaris console. - polaris server address: polaris_address=grpc://127.0.0.1:8091 - pushgateway address: prometheus_address=127.0.0.1:9091 - - env tag:SCT_METADATA_CONTENT_env=blue - - transitive tag:SCT_METADATA_CONTENT_TRANSITIVE=env + - env tag: SCT_METADATA_CONTENT_env=blue + - transitive tag: SCT_METADATA_CONTENT_TRANSITIVE=env 2. start router-grayrelease-backend application - - Launch by IDE:Start the main class `GrayReleaseBackendApplication`. - - Launch by Jar:Execute `mvn clean package` to compile with jar package, then use `java -jar router-grayrelease-backend-${verion}.jar` to launch application. + - Launch by IDE: Start the main class `GrayReleaseBackendApplication`. + - Launch by Jar: Execute `mvn clean package` to compile with jar package, then use `java -jar router-grayrelease-backend-${verion}.jar` to launch application. #### Start gray1 environment (green) @@ -223,8 +223,8 @@ You can find the instances with different tags in polaris console. - polaris server address: polaris_address=grpc://127.0.0.1:8091 - pushgateway address: prometheus_address=127.0.0.1:9091 - - env tag:SCT_METADATA_CONTENT_env=green - - transitive tag:SCT_METADATA_CONTENT_TRANSITIVE=env + - env tag: SCT_METADATA_CONTENT_env=green + - transitive tag: SCT_METADATA_CONTENT_TRANSITIVE=env 2. start router-grayrelease-backend application (same as previous instruction)