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