From 71947aec64bb7486521a4466f41cebda6bfa57be Mon Sep 17 00:00:00 2001 From: shedfreewu <49236872+shedfreewu@users.noreply.github.com> Date: Thu, 27 Nov 2025 15:17:51 +0800 Subject: [PATCH] fix: send unit header in gw. (#1758) --- CHANGELOG.md | 1 + .../plugin/unit/config/GatewayUnitAutoConfiguration.java | 7 +++++++ .../cloud/plugin/unit/plugin/UnitScgEnhancedPlugin.java | 5 +++++ 3 files changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d98eddddb..4f2fd40ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,3 +8,4 @@ - [fix:replace with string inside @ConditionalOnClass.](https://github.com/Tencent/spring-cloud-tencent/pull/1750) - [feat: support TagUtils, ContextToHeaderInterceptor in TSF.](https://github.com/Tencent/spring-cloud-tencent/pull/1754) - [deps:upgrade to spring boot 3.4.12.](https://github.com/Tencent/spring-cloud-tencent/pull/1756) +- [fix: send unit header in tsf gw.](https://github.com/Tencent/spring-cloud-tencent/pull/1758) diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/cloud/plugin/unit/config/GatewayUnitAutoConfiguration.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/cloud/plugin/unit/config/GatewayUnitAutoConfiguration.java index ef78002bf..4d8bc5b9f 100644 --- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/cloud/plugin/unit/config/GatewayUnitAutoConfiguration.java +++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/cloud/plugin/unit/config/GatewayUnitAutoConfiguration.java @@ -18,6 +18,7 @@ package com.tencent.cloud.plugin.unit.config; import com.tencent.cloud.common.tsf.ConditionalOnOnlyTsfConsulEnabled; +import com.tencent.cloud.plugin.unit.plugin.UnitScgEnhancedPlugin; import com.tencent.tsf.unit.core.GatewayUnitArchCallback; import com.tencent.tsf.unit.core.TencentUnitManager; import com.tencent.tsf.unit.core.TsfZoneFilterUnitCallback; @@ -26,6 +27,7 @@ import jakarta.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -44,6 +46,11 @@ public class GatewayUnitAutoConfiguration { private String applicationName; + @Bean + public UnitScgEnhancedPlugin unitScgEnhancedPlugin() { + return new UnitScgEnhancedPlugin(); + } + @PostConstruct public void init() { TencentUnitManager.addArchCallback(new GatewayUnitArchCallback(applicationName)); diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/cloud/plugin/unit/plugin/UnitScgEnhancedPlugin.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/cloud/plugin/unit/plugin/UnitScgEnhancedPlugin.java index 3e46bcfa5..2fb76a499 100644 --- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/cloud/plugin/unit/plugin/UnitScgEnhancedPlugin.java +++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-unit-plugin/src/main/java/com/tencent/cloud/plugin/unit/plugin/UnitScgEnhancedPlugin.java @@ -27,6 +27,7 @@ import com.tencent.cloud.rpc.enhancement.plugin.EnhancedPluginContext; import com.tencent.cloud.rpc.enhancement.plugin.EnhancedPluginType; import com.tencent.cloud.rpc.enhancement.plugin.PluginOrderConstant; import com.tencent.tsf.unit.core.TencentUnitContext; +import com.tencent.tsf.unit.core.TencentUnitManager; import shade.polaris.com.google.common.collect.ImmutableMap; import org.springframework.http.server.reactive.ServerHttpRequest; @@ -50,6 +51,10 @@ public class UnitScgEnhancedPlugin implements EnhancedPlugin { return; } + if (!TencentUnitManager.isEnable()) { + return; + } + // get request builder ServerHttpRequest.Builder builder = exchange.getRequest().mutate();