From f340e84c842565a7f848a6729d19de116743d2af Mon Sep 17 00:00:00 2001 From: shedfreewu Date: Thu, 3 Jul 2025 16:33:00 +0800 Subject: [PATCH] fix review --- .../metadata/core/DecodeTransferMetadataReactiveFilter.java | 1 + .../metadata/core/DecodeTransferMetadataServletFilter.java | 6 ++++-- .../polaris/config/PolarisConfigAutoConfiguration.java | 4 ++++ .../java/com/tencent/cloud/common/tsf/TsfContextUtils.java | 4 ++++ 4 files changed, 13 insertions(+), 2 deletions(-) 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 89dc855ec..46924062d 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 @@ -69,6 +69,7 @@ public class DecodeTransferMetadataReactiveFilter implements WebFilter, Ordered Map mergedTransitiveMetadata = new HashMap<>(); Map mergedDisposableMetadata = new HashMap<>(); Map mergedApplicationMetadata = new HashMap<>(); + // some tsf headers need to change to polaris header Map addHeaders = new HashMap<>(); AtomicReference callerIp = new AtomicReference<>(""); 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 a3d679faf..f62e57a6c 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 @@ -64,6 +64,7 @@ public class DecodeTransferMetadataServletFilter extends OncePerRequestFilter { Map mergedTransitiveMetadata = new HashMap<>(); Map mergedDisposableMetadata = new HashMap<>(); Map mergedApplicationMetadata = new HashMap<>(); + // some tsf headers need to change to polaris header Map addHeaders = new HashMap<>(); AtomicReference callerIp = new AtomicReference<>(""); @@ -95,9 +96,10 @@ public class DecodeTransferMetadataServletFilter extends OncePerRequestFilter { if (StringUtils.isNotBlank(mergedApplicationMetadata.get(LOCAL_IP))) { callerIp.set(mergedApplicationMetadata.get(LOCAL_IP)); } + // add headers + httpServletRequest = new HttpServletRequestHeaderWrapper(httpServletRequest, addHeaders); // message metadata - ServletMetadataProvider callerMessageMetadataProvider = new ServletMetadataProvider( - new HttpServletRequestHeaderWrapper(httpServletRequest, addHeaders), callerIp.get()); + ServletMetadataProvider callerMessageMetadataProvider = new ServletMetadataProvider(httpServletRequest, callerIp.get()); MetadataContextHolder.init(mergedTransitiveMetadata, mergedDisposableMetadata, mergedApplicationMetadata, callerMessageMetadataProvider); diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigAutoConfiguration.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigAutoConfiguration.java index f04c11478..2cab82d20 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigAutoConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigAutoConfiguration.java @@ -83,6 +83,10 @@ public class PolarisConfigAutoConfiguration { springValueRegistry, configFileService, contextRefresher, polarisSDKContextManager.getSDKContext()); } + /** + * Some scenario configurations are not annotated with @RefreshScope but are refreshed directly by listening to events. + * In such cases, it is necessary to actively execute putRefreshScopePrefixKey. + */ @Bean public SpringValueRegistry springValueRegistry() { SpringValueRegistry springValueRegistry = new SpringValueRegistry(); diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/tsf/TsfContextUtils.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/tsf/TsfContextUtils.java index c0407651f..5d2ece26e 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/tsf/TsfContextUtils.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/tsf/TsfContextUtils.java @@ -78,6 +78,10 @@ public final class TsfContextUtils { return onlyTsfConsulEnabled; } + /** + * This method should be called after {@link com.tencent.cloud.common.tsf.TsfContextUtils#isOnlyTsfConsulEnabled(Environment)}. + * @return whether only Tsf Consul is enabled + */ public static boolean isOnlyTsfConsulEnabled() { return onlyTsfConsulEnabled; }