This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-java.git


The following commit(s) were added to refs/heads/main by this push:
     new 24ec663a34 Upgrade nats plugin to expand support to 2.16.5 (#711)
24ec663a34 is described below

commit 24ec663a349df733c77bec792bc5ee81dc5632b7
Author: pg.yang <[email protected]>
AuthorDate: Sat Jul 27 12:36:04 2024 +0800

    Upgrade nats plugin to expand support to 2.16.5 (#711)
---
 .github/workflows/plugins-test.3.yaml              |  2 +-
 CHANGES.md                                         |  1 +
 .../pom.xml                                        |  2 +-
 .../nats/client/CreateDispatcherInterceptor.java   |  0
 .../plugin/nats/client/CreateSubInterceptor.java   |  0
 .../nats/client/DeliverReplyInterceptor.java       |  0
 .../apm/plugin/nats/client/NatsCommons.java        |  0
 ...NatsConnectionWriterConstructorInterceptor.java |  0
 .../NatsJetStreamConstructorInterceptor.java       |  0
 .../plugin/nats/client/NatsMessageInterceptor.java |  0
 .../NatsSubscriptionConstructorInterceptor.java    |  0
 .../client/SubscriptionNextMsgInterceptor.java     |  0
 .../plugin/nats/client/WriterQueueInterceptor.java |  0
 .../client/WriterSendMessageBatchInterceptor.java  |  0
 .../define/AbstractWitnessInstrumentation.java     | 43 ++++++++++++++++++++++
 .../define/NatsConnectionInstrumentation.java      |  5 +--
 .../NatsConnectionWriterInstrumentation.java       |  3 +-
 .../define/NatsJetStreamInstrumentation.java       |  5 +--
 .../client/define/NatsMessageInstrumentation.java  |  3 +-
 .../define/NatsSubscriptionInstrumentation.java    |  3 +-
 .../src/main/resources/skywalking-plugin.def       | 10 ++---
 apm-sniffer/apm-sdk-plugin/pom.xml                 |  2 +-
 .../setup/service-agent/java-agent/Plugin-list.md  |  4 +-
 .../service-agent/java-agent/Supported-list.md     |  2 +-
 .../bin/startup.sh                                 |  2 +-
 .../config/expectedData.yaml                       |  0
 .../configuration.yml                              |  0
 .../pom.xml                                        |  6 +--
 .../src/main/assembly/assembly.xml                 |  2 +-
 .../apm/testcase/nats/client/Application.java      |  0
 .../nats/client/controller/StartController.java    |  0
 .../nats/client/publisher/JetStreamPublisher.java  |  0
 .../publisher/JetStreamPublisherFetcher.java       |  0
 .../nats/client/publisher/NormalPublisher.java     |  0
 .../testcase/nats/client/publisher/Publisher.java  |  0
 .../nats/client/publisher/ReqReplyPublisher.java   |  0
 .../testcase/nats/client/subscriber/Consumer.java  |  0
 .../subscriber/JetStreamFetcherConsumer.java       |  0
 .../subscriber/JetStreamHandlerConsumer.java       |  0
 .../nats/client/subscriber/NextMsgConsumer.java    |  0
 .../nats/client/subscriber/ReqReplyConsumer.java   |  0
 .../apm/testcase/nats/client/work/StopSignal.java  |  0
 .../apm/testcase/nats/client/work/StreamUtil.java  |  0
 .../nats/client/work/TrackedConnection.java        |  0
 .../apm/testcase/nats/client/work/WorkBuilder.java |  0
 .../support-version.list                           |  3 +-
 46 files changed, 69 insertions(+), 29 deletions(-)

diff --git a/.github/workflows/plugins-test.3.yaml 
b/.github/workflows/plugins-test.3.yaml
index 5960da690a..b6766b15a0 100644
--- a/.github/workflows/plugins-test.3.yaml
+++ b/.github/workflows/plugins-test.3.yaml
@@ -67,7 +67,7 @@ jobs:
           - vertx-web-3.6plus-scenario
           - mariadb-scenario
           - micronaut-http-scenario
-          - nats-2.14.x-2.15.x-scenario
+          - nats-2.14.x-2.16.5-scenario
           - quasar-scenario
           - baidu-brpc-scenario
           - baidu-brpc-3.x-scenario
diff --git a/CHANGES.md b/CHANGES.md
index 22dea7bad8..8a31625dc9 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -5,6 +5,7 @@ Release Notes.
 9.4.0
 ------------------
 
+* Upgrade nats plugin to support 2.16.5
 
 
 All issues and pull requests are 
[here](https://github.com/apache/skywalking/milestone/222?closed=1)
diff --git a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/pom.xml 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/pom.xml
similarity index 96%
rename from apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/pom.xml
rename to apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/pom.xml
index 2585e9370f..843fc387d0 100644
--- a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/pom.xml
+++ b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/pom.xml
@@ -26,7 +26,7 @@
 
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>nats-2.14.x-2.15.x-plugin</artifactId>
+    <artifactId>nats-2.14.x-2.16.5-plugin</artifactId>
     <packaging>jar</packaging>
 
     <properties>
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/CreateDispatcherInterceptor.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/CreateDispatcherInterceptor.java
similarity index 100%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/CreateDispatcherInterceptor.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/CreateDispatcherInterceptor.java
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/CreateSubInterceptor.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/CreateSubInterceptor.java
similarity index 100%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/CreateSubInterceptor.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/CreateSubInterceptor.java
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/DeliverReplyInterceptor.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/DeliverReplyInterceptor.java
similarity index 100%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/DeliverReplyInterceptor.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/DeliverReplyInterceptor.java
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsCommons.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsCommons.java
similarity index 100%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsCommons.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsCommons.java
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsConnectionWriterConstructorInterceptor.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsConnectionWriterConstructorInterceptor.java
similarity index 100%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsConnectionWriterConstructorInterceptor.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsConnectionWriterConstructorInterceptor.java
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsJetStreamConstructorInterceptor.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsJetStreamConstructorInterceptor.java
similarity index 100%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsJetStreamConstructorInterceptor.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsJetStreamConstructorInterceptor.java
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsMessageInterceptor.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsMessageInterceptor.java
similarity index 100%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsMessageInterceptor.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsMessageInterceptor.java
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsSubscriptionConstructorInterceptor.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsSubscriptionConstructorInterceptor.java
similarity index 100%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsSubscriptionConstructorInterceptor.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/NatsSubscriptionConstructorInterceptor.java
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/SubscriptionNextMsgInterceptor.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/SubscriptionNextMsgInterceptor.java
similarity index 100%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/SubscriptionNextMsgInterceptor.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/SubscriptionNextMsgInterceptor.java
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/WriterQueueInterceptor.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/WriterQueueInterceptor.java
similarity index 100%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/WriterQueueInterceptor.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/WriterQueueInterceptor.java
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/WriterSendMessageBatchInterceptor.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/WriterSendMessageBatchInterceptor.java
similarity index 100%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/WriterSendMessageBatchInterceptor.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/WriterSendMessageBatchInterceptor.java
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/AbstractWitnessInstrumentation.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/AbstractWitnessInstrumentation.java
new file mode 100644
index 0000000000..1acf6e525e
--- /dev/null
+++ 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/AbstractWitnessInstrumentation.java
@@ -0,0 +1,43 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements.  See the NOTICE file distributed with
+ *   this work for additional information regarding copyright ownership.
+ *   The ASF licenses this file to You under the Apache License, Version 2.0
+ *   (the "License"); you may not use this file except in compliance with
+ *   the License.  You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ */
+
+package org.apache.skywalking.apm.plugin.nats.client.define;
+
+import java.util.Collections;
+import java.util.List;
+import org.apache.skywalking.apm.agent.core.plugin.WitnessMethod;
+import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine;
+
+import static net.bytebuddy.matcher.ElementMatchers.named;
+
+public abstract class AbstractWitnessInstrumentation extends 
ClassInstanceMethodsEnhancePluginDefine {
+
+    /*
+     * Currently, we only support 2.14.x-2.16.5, as there is no proper way and 
opportunity
+     * to change the message header and re-calculate the message length for 
2.16.5+ yet.
+     * This method prevents users from applying this plugin to unsupported 
versions,
+     * which may cause unknown errors.
+     * For more information: 
https://github.com/apache/skywalking/discussions/11650
+     */
+    @Override
+    protected List<WitnessMethod> witnessMethods() {
+        return Collections.singletonList(new WitnessMethod(
+            "io.nats.client.impl.NatsMessage",
+            named("calculateIfDirty")
+        ));
+    }
+}
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsConnectionInstrumentation.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsConnectionInstrumentation.java
similarity index 94%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsConnectionInstrumentation.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsConnectionInstrumentation.java
index 1822732b15..9b2d5087d7 100644
--- 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsConnectionInstrumentation.java
+++ 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsConnectionInstrumentation.java
@@ -21,14 +21,13 @@ import net.bytebuddy.description.method.MethodDescription;
 import net.bytebuddy.matcher.ElementMatcher;
 import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
 import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint;
-import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine;
 import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
 
 import static net.bytebuddy.matcher.ElementMatchers.named;
 import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
 import static 
org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName;
 
-public class NatsConnectionInstrumentation extends 
ClassInstanceMethodsEnhancePluginDefine {
+public class NatsConnectionInstrumentation extends 
AbstractWitnessInstrumentation {
 
     private static final String ENHANCE_CLASS = 
"io.nats.client.impl.NatsConnection";
 
@@ -82,4 +81,4 @@ public class NatsConnectionInstrumentation extends 
ClassInstanceMethodsEnhancePl
                 }
         };
     }
-}
\ No newline at end of file
+}
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsConnectionWriterInstrumentation.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsConnectionWriterInstrumentation.java
similarity index 95%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsConnectionWriterInstrumentation.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsConnectionWriterInstrumentation.java
index f3a315314f..b6e56ddc4a 100644
--- 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsConnectionWriterInstrumentation.java
+++ 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsConnectionWriterInstrumentation.java
@@ -21,14 +21,13 @@ import net.bytebuddy.description.method.MethodDescription;
 import net.bytebuddy.matcher.ElementMatcher;
 import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
 import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint;
-import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine;
 import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
 
 import static net.bytebuddy.matcher.ElementMatchers.named;
 import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
 import static 
org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName;
 
-public class NatsConnectionWriterInstrumentation extends 
ClassInstanceMethodsEnhancePluginDefine {
+public class NatsConnectionWriterInstrumentation extends 
AbstractWitnessInstrumentation {
 
     private static final String ENHANCE_CLASS = 
"io.nats.client.impl.NatsConnectionWriter";
     private static final String PUBLISH_INTERCEPTOR_CLASS_NAME = 
"org.apache.skywalking.apm.plugin.nats.client.WriterSendMessageBatchInterceptor";
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsJetStreamInstrumentation.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsJetStreamInstrumentation.java
similarity index 94%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsJetStreamInstrumentation.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsJetStreamInstrumentation.java
index a635658c4a..cf940e7e39 100644
--- 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsJetStreamInstrumentation.java
+++ 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsJetStreamInstrumentation.java
@@ -21,14 +21,13 @@ import net.bytebuddy.description.method.MethodDescription;
 import net.bytebuddy.matcher.ElementMatcher;
 import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
 import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint;
-import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine;
 import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
 
 import static net.bytebuddy.matcher.ElementMatchers.named;
 import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
 import static 
org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName;
 
-public class NatsJetStreamInstrumentation extends 
ClassInstanceMethodsEnhancePluginDefine {
+public class NatsJetStreamInstrumentation extends 
AbstractWitnessInstrumentation {
 
     private static final String ENHANCE_CLASS = 
"io.nats.client.impl.NatsJetStream";
     private static final String CREATE_SUB_INTERCEPTOR = 
"org.apache.skywalking.apm.plugin.nats.client.CreateSubInterceptor";
@@ -78,4 +77,4 @@ public class NatsJetStreamInstrumentation extends 
ClassInstanceMethodsEnhancePlu
         };
     }
 
-}
\ No newline at end of file
+}
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsMessageInstrumentation.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsMessageInstrumentation.java
similarity index 93%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsMessageInstrumentation.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsMessageInstrumentation.java
index 79d061a396..95d229690b 100644
--- 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsMessageInstrumentation.java
+++ 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsMessageInstrumentation.java
@@ -21,7 +21,6 @@ import net.bytebuddy.description.method.MethodDescription;
 import net.bytebuddy.matcher.ElementMatcher;
 import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
 import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint;
-import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine;
 import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
 
 import static net.bytebuddy.matcher.ElementMatchers.named;
@@ -35,7 +34,7 @@ import static 
org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName
  *
  * BTW , ACK is done by publishing a message , So we needn't enhance ACK method
  */
-public class NatsMessageInstrumentation extends 
ClassInstanceMethodsEnhancePluginDefine {
+public class NatsMessageInstrumentation extends AbstractWitnessInstrumentation 
{
 
     private static final String ENHANCE_CLASS = 
"io.nats.client.impl.NatsMessage";
     private static final String PUBLISH_INTERCEPTOR = 
"org.apache.skywalking.apm.plugin.nats.client.NatsMessageInterceptor";
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsSubscriptionInstrumentation.java
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsSubscriptionInstrumentation.java
similarity index 93%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsSubscriptionInstrumentation.java
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsSubscriptionInstrumentation.java
index a04433722a..62bc14b017 100644
--- 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsSubscriptionInstrumentation.java
+++ 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/java/org/apache/skywalking/apm/plugin/nats/client/define/NatsSubscriptionInstrumentation.java
@@ -21,14 +21,13 @@ import net.bytebuddy.description.method.MethodDescription;
 import net.bytebuddy.matcher.ElementMatcher;
 import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
 import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint;
-import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine;
 import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
 
 import static net.bytebuddy.matcher.ElementMatchers.named;
 import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
 import static 
org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName;
 
-public class NatsSubscriptionInstrumentation extends 
ClassInstanceMethodsEnhancePluginDefine {
+public class NatsSubscriptionInstrumentation extends 
AbstractWitnessInstrumentation {
 
     private static final String ENHANCE_CLASS = 
"io.nats.client.impl.NatsSubscription";
     private static final String NEXT_MSG_INTERCEPTOR = 
"org.apache.skywalking.apm.plugin.nats.client.SubscriptionNextMsgInterceptor";
diff --git 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/resources/skywalking-plugin.def
 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/resources/skywalking-plugin.def
similarity index 72%
rename from 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/resources/skywalking-plugin.def
rename to 
apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/resources/skywalking-plugin.def
index cc15654fcf..cbbf148d66 100644
--- 
a/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.15.x-plugin/src/main/resources/skywalking-plugin.def
+++ 
b/apm-sniffer/apm-sdk-plugin/nats-2.14.x-2.16.5-plugin/src/main/resources/skywalking-plugin.def
@@ -14,8 +14,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-nats-client-2.14.x-2.15.x=org.apache.skywalking.apm.plugin.nats.client.define.NatsMessageInstrumentation
-nats-client-2.14.x-2.15.x=org.apache.skywalking.apm.plugin.nats.client.define.NatsConnectionInstrumentation
-nats-client-2.14.x-2.15.x=org.apache.skywalking.apm.plugin.nats.client.define.NatsConnectionWriterInstrumentation
-nats-client-2.14.x-2.15.x=org.apache.skywalking.apm.plugin.nats.client.define.NatsSubscriptionInstrumentation
-nats-client-2.14.x-2.15.x=org.apache.skywalking.apm.plugin.nats.client.define.NatsJetStreamInstrumentation
\ No newline at end of file
+nats-client-2.14.x-2.16.5=org.apache.skywalking.apm.plugin.nats.client.define.NatsMessageInstrumentation
+nats-client-2.14.x-2.16.5=org.apache.skywalking.apm.plugin.nats.client.define.NatsConnectionInstrumentation
+nats-client-2.14.x-2.16.5=org.apache.skywalking.apm.plugin.nats.client.define.NatsConnectionWriterInstrumentation
+nats-client-2.14.x-2.16.5=org.apache.skywalking.apm.plugin.nats.client.define.NatsSubscriptionInstrumentation
+nats-client-2.14.x-2.16.5=org.apache.skywalking.apm.plugin.nats.client.define.NatsJetStreamInstrumentation
diff --git a/apm-sniffer/apm-sdk-plugin/pom.xml 
b/apm-sniffer/apm-sdk-plugin/pom.xml
index b62e8269e2..203fb664f7 100644
--- a/apm-sniffer/apm-sdk-plugin/pom.xml
+++ b/apm-sniffer/apm-sdk-plugin/pom.xml
@@ -123,7 +123,7 @@
         <module>guava-eventbus-plugin</module>
         <module>hutool-plugins</module>
         <module>micronaut-plugins</module>
-        <module>nats-2.14.x-2.15.x-plugin</module>
+        <module>nats-2.14.x-2.16.5-plugin</module>
         <module>jedis-plugins</module>
         <module>apm-armeria-plugins</module>
         <module>jetty-thread-pool-plugin</module>
diff --git a/docs/en/setup/service-agent/java-agent/Plugin-list.md 
b/docs/en/setup/service-agent/java-agent/Plugin-list.md
index d2c07c5a41..2c7b51a6c3 100644
--- a/docs/en/setup/service-agent/java-agent/Plugin-list.md
+++ b/docs/en/setup/service-agent/java-agent/Plugin-list.md
@@ -162,7 +162,7 @@
 - hutool-http-5.x
 - micronaut-http-client-3.2.x-3.6.x
 - micronaut-http-server-3.2.x-3.6.x
-- nats-client-2.14.x-2.15.x
+- nats-client-2.14.x-2.16.5
 - impala-jdbc-2.6.x
 - jdk-forkjoinpool-plugin
 - jetty-thread-pool
@@ -178,4 +178,4 @@
 - spring-webflux-6.x-webclient
 - activemq-artemis-jakarta-client-2.x
 - c3p0-0.9.x
-- solon-2.x
\ No newline at end of file
+- solon-2.x
diff --git a/docs/en/setup/service-agent/java-agent/Supported-list.md 
b/docs/en/setup/service-agent/java-agent/Supported-list.md
index cd7c02f78b..fe3bcd231d 100644
--- a/docs/en/setup/service-agent/java-agent/Supported-list.md
+++ b/docs/en/setup/service-agent/java-agent/Supported-list.md
@@ -81,7 +81,7 @@ metrics based on the tracing data.
   * [ActiveMQ](https://github.com/apache/activemq) 5.10.0 -> 5.15.4
   * [RabbitMQ](https://www.rabbitmq.com/) 3.x-> 5.x
   * [Pulsar](http://pulsar.apache.org) 2.2.x -> 2.9.x
-  * [NATS](https://github.com/nats-io/nats.java) 2.14.x -> 2.15.x
+  * [NATS](https://github.com/nats-io/nats.java) 2.14.x -> 2.16.5
   * [ActiveMQ-Artemis](https://github.com/apache/activemq) 2.30.0 -> 2.31.2
   * Aliyun ONS 1.x (Optional¹)
 * NoSQL
diff --git a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/bin/startup.sh 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/bin/startup.sh
similarity index 94%
rename from test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/bin/startup.sh
rename to test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/bin/startup.sh
index d2237e1e87..ded2569231 100644
--- a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/bin/startup.sh
+++ b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/bin/startup.sh
@@ -21,4 +21,4 @@ home="$(cd "$(dirname $0)"; pwd)"
 java -jar ${agent_opts} -Dserver.port=8080 \
   -Dskywalking.agent.service_name=scenario-8080- \
   -Dnats.server=nats-server \
-  ${home}/../libs/nats-2.14.x-2.15.x-scenario.jar &
\ No newline at end of file
+  ${home}/../libs/nats-2.14.x-2.16.5-scenario.jar &
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/config/expectedData.yaml 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/config/expectedData.yaml
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/config/expectedData.yaml
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/config/expectedData.yaml
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/configuration.yml 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/configuration.yml
similarity index 100%
rename from test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/configuration.yml
rename to test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/configuration.yml
diff --git a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/pom.xml 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/pom.xml
similarity index 96%
rename from test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/pom.xml
rename to test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/pom.xml
index 5234f29e9a..3fdcfa2857 100644
--- a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/pom.xml
+++ b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/pom.xml
@@ -21,7 +21,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
 
     <groupId>org.apache.skywalking.apm.testcase</groupId>
-    <artifactId>nats-2.14.x-2.15.x-scenario</artifactId>
+    <artifactId>nats-2.14.x-2.16.5-scenario</artifactId>
     <version>1.0.0</version>
     <packaging>jar</packaging>
 
@@ -75,7 +75,7 @@
     </dependencies>
 
     <build>
-        <finalName>nats-2.14.x-2.15.x-scenario</finalName>
+        <finalName>nats-2.14.x-2.16.5-scenario</finalName>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
@@ -112,4 +112,4 @@
 
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/assembly/assembly.xml
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/assembly/assembly.xml
similarity index 94%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/assembly/assembly.xml
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/assembly/assembly.xml
index 098c888d81..dd2cf1d4f5 100644
--- 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/assembly/assembly.xml
+++ 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/assembly/assembly.xml
@@ -33,7 +33,7 @@
 
     <files>
         <file>
-            
<source>${project.build.directory}/nats-2.14.x-2.15.x-scenario.jar</source>
+            
<source>${project.build.directory}/nats-2.14.x-2.16.5-scenario.jar</source>
             <outputDirectory>./libs</outputDirectory>
             <fileMode>0775</fileMode>
         </file>
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/Application.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/Application.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/Application.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/Application.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/controller/StartController.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/controller/StartController.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/controller/StartController.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/controller/StartController.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/JetStreamPublisher.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/JetStreamPublisher.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/JetStreamPublisher.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/JetStreamPublisher.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/JetStreamPublisherFetcher.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/JetStreamPublisherFetcher.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/JetStreamPublisherFetcher.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/JetStreamPublisherFetcher.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/NormalPublisher.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/NormalPublisher.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/NormalPublisher.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/NormalPublisher.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/Publisher.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/Publisher.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/Publisher.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/Publisher.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/ReqReplyPublisher.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/ReqReplyPublisher.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/ReqReplyPublisher.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/publisher/ReqReplyPublisher.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/Consumer.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/Consumer.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/Consumer.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/Consumer.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/JetStreamFetcherConsumer.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/JetStreamFetcherConsumer.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/JetStreamFetcherConsumer.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/JetStreamFetcherConsumer.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/JetStreamHandlerConsumer.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/JetStreamHandlerConsumer.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/JetStreamHandlerConsumer.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/JetStreamHandlerConsumer.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/NextMsgConsumer.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/NextMsgConsumer.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/NextMsgConsumer.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/NextMsgConsumer.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/ReqReplyConsumer.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/ReqReplyConsumer.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/ReqReplyConsumer.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/subscriber/ReqReplyConsumer.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/StopSignal.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/StopSignal.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/StopSignal.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/StopSignal.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/StreamUtil.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/StreamUtil.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/StreamUtil.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/StreamUtil.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/TrackedConnection.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/TrackedConnection.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/TrackedConnection.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/TrackedConnection.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/WorkBuilder.java
 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/WorkBuilder.java
similarity index 100%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/WorkBuilder.java
rename to 
test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/src/main/java/org/apache/skywalking/apm/testcase/nats/client/work/WorkBuilder.java
diff --git 
a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/support-version.list 
b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/support-version.list
similarity index 98%
rename from 
test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/support-version.list
rename to test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/support-version.list
index 9798fc44d8..25a0bd9d45 100644
--- a/test/plugin/scenarios/nats-2.14.x-2.15.x-scenario/support-version.list
+++ b/test/plugin/scenarios/nats-2.14.x-2.16.5-scenario/support-version.list
@@ -14,5 +14,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+2.16.5
 2.15.6
-2.14.2
\ No newline at end of file
+2.14.2


Reply via email to