From b020711b63644f640aa85ab7ad0f9f4a10184ca5 Mon Sep 17 00:00:00 2001 From: huanggs <790902765@qq.com> Date: Mon, 10 Nov 2025 17:06:17 +0800 Subject: [PATCH 1/5] Fix plugin activation failure for Gateway 2.0.x by replacing invalid witness class GatewayAutoConfiguration$1 with a stable class GatewayAutoConfiguration. This resolves startup errors and ensures plugin compatibility with Spring Cloud Gateway 2.0.x. --- .../v20x/define/AbstractGateway200EnhancePluginDefine.java | 2 +- .../v20x/define/AbstractGateway200EnhancePluginDefineV2.java | 2 +- .../gateway/v20x/define/DispatcherHandlerInstrumentation.java | 2 +- .../gateway/v20x/define/ServerWebExchangeInstrumentation.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/AbstractGateway200EnhancePluginDefine.java b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/AbstractGateway200EnhancePluginDefine.java index baeb619eca..e260b8813c 100644 --- a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/AbstractGateway200EnhancePluginDefine.java +++ b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/AbstractGateway200EnhancePluginDefine.java @@ -24,7 +24,7 @@ public abstract class AbstractGateway200EnhancePluginDefine extends ClassInstanc @Override protected String[] witnessClasses() { return new String[] { - "org.springframework.cloud.gateway.config.GatewayAutoConfiguration$1" + "org.springframework.cloud.gateway.config.GatewayAutoConfiguration" }; } } diff --git a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/AbstractGateway200EnhancePluginDefineV2.java b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/AbstractGateway200EnhancePluginDefineV2.java index 1f07c0ba89..c42e2df60d 100644 --- a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/AbstractGateway200EnhancePluginDefineV2.java +++ b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/AbstractGateway200EnhancePluginDefineV2.java @@ -24,7 +24,7 @@ public abstract class AbstractGateway200EnhancePluginDefineV2 extends ClassInsta @Override protected String[] witnessClasses() { return new String[] { - "org.springframework.cloud.gateway.config.GatewayAutoConfiguration$1" + "org.springframework.cloud.gateway.config.GatewayAutoConfiguration" }; } } diff --git a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/DispatcherHandlerInstrumentation.java b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/DispatcherHandlerInstrumentation.java index be9f8668ab..1188ae1804 100644 --- a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/DispatcherHandlerInstrumentation.java +++ b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/DispatcherHandlerInstrumentation.java @@ -23,7 +23,7 @@ public class DispatcherHandlerInstrumentation extends org.apache.skywalking.apm. @Override protected String[] witnessClasses() { return new String[] { - "org.springframework.cloud.gateway.config.GatewayAutoConfiguration$1" + "org.springframework.cloud.gateway.config.GatewayAutoConfiguration" }; } } diff --git a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/ServerWebExchangeInstrumentation.java b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/ServerWebExchangeInstrumentation.java index 029172d69d..bb2af27b54 100644 --- a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/ServerWebExchangeInstrumentation.java +++ b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/ServerWebExchangeInstrumentation.java @@ -23,7 +23,7 @@ public class ServerWebExchangeInstrumentation extends org.apache.skywalking.apm. @Override protected String[] witnessClasses() { return new String[] { - "org.springframework.cloud.gateway.config.GatewayAutoConfiguration$1" + "org.springframework.cloud.gateway.config.GatewayAutoConfiguration" }; } } From 9d6833da0a39195fdad49164b176e668f709fcb8 Mon Sep 17 00:00:00 2001 From: huanggs <790902765@qq.com> Date: Wed, 12 Nov 2025 09:34:06 +0800 Subject: [PATCH 2/5] add CHANGES.md --- CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 76d64c9840..113f769f2f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -19,7 +19,7 @@ Release Notes. * Fix Jetty client cannot receive the HTTP response body. * Eliminate repeated code with HttpServletRequestWrapper in mvc-annotation-commons. * Add the jdk httpclient plugin. - +* Fix Gateway 2.0.x plugin not activated for spring-cloud-starter-gateway 2.0.0.RELEASE. All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/242?closed=1) ------------------ From 25021287022d39daa3c352c491a98001c438aff1 Mon Sep 17 00:00:00 2001 From: huanggs <790902765@qq.com> Date: Wed, 12 Nov 2025 10:00:23 +0800 Subject: [PATCH 3/5] Fix Gateway 2.0.x plugin not activated for spring-cloud-starter-gateway 2.0.0.RELEASE --- .../scenarios/gateway-2.0.x-scenario/support-version.list | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/plugin/scenarios/gateway-2.0.x-scenario/support-version.list b/test/plugin/scenarios/gateway-2.0.x-scenario/support-version.list index 8e6ebcf1ab..bb0a110c46 100644 --- a/test/plugin/scenarios/gateway-2.0.x-scenario/support-version.list +++ b/test/plugin/scenarios/gateway-2.0.x-scenario/support-version.list @@ -14,4 +14,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -2.0.4.RELEASE \ No newline at end of file +2.0.4.RELEASE +2.0.0.RELEASE \ No newline at end of file From 8d43b065841b5192ce75252501f8efdca392e835 Mon Sep 17 00:00:00 2001 From: huanggs <790902765@qq.com> Date: Wed, 12 Nov 2025 14:13:06 +0800 Subject: [PATCH 4/5] Revert "Fix Gateway 2.0.x plugin not activated for spring-cloud-starter-gateway 2.0.0.RELEASE" This reverts commit 25021287022d39daa3c352c491a98001c438aff1. --- .../scenarios/gateway-2.0.x-scenario/support-version.list | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/plugin/scenarios/gateway-2.0.x-scenario/support-version.list b/test/plugin/scenarios/gateway-2.0.x-scenario/support-version.list index bb0a110c46..8e6ebcf1ab 100644 --- a/test/plugin/scenarios/gateway-2.0.x-scenario/support-version.list +++ b/test/plugin/scenarios/gateway-2.0.x-scenario/support-version.list @@ -14,5 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -2.0.4.RELEASE -2.0.0.RELEASE \ No newline at end of file +2.0.4.RELEASE \ No newline at end of file From 8c10d57a7d73115d52af3e01b445ed894efb7c8e Mon Sep 17 00:00:00 2001 From: huanggs <790902765@qq.com> Date: Wed, 12 Nov 2025 16:43:21 +0800 Subject: [PATCH 5/5] Fix Gateway 2.0.x plugin not activated for spring-cloud-starter-gateway 2.0.0.RELEASE --- .../gateway-2.0.x-scenario/gateway-projectA-scenario/pom.xml | 5 +++++ .../scenarios/gateway-2.0.x-scenario/support-version.list | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectA-scenario/pom.xml b/test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectA-scenario/pom.xml index fc1fb5e6d6..446f5e9f28 100644 --- a/test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectA-scenario/pom.xml +++ b/test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectA-scenario/pom.xml @@ -34,6 +34,11 @@ spring-cloud-starter-gateway ${test.framework.version} + + io.projectreactor + reactor-core + 3.1.7.RELEASE + diff --git a/test/plugin/scenarios/gateway-2.0.x-scenario/support-version.list b/test/plugin/scenarios/gateway-2.0.x-scenario/support-version.list index 8e6ebcf1ab..bb0a110c46 100644 --- a/test/plugin/scenarios/gateway-2.0.x-scenario/support-version.list +++ b/test/plugin/scenarios/gateway-2.0.x-scenario/support-version.list @@ -14,4 +14,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -2.0.4.RELEASE \ No newline at end of file +2.0.4.RELEASE +2.0.0.RELEASE \ No newline at end of file