From 2ecdc18901132b61c423cfc47211c81c2c16bda3 Mon Sep 17 00:00:00 2001 From: Jiajing LU Date: Tue, 12 Oct 2021 17:33:59 +0800 Subject: [PATCH] Fix version compatibility for JSON-RPC4J Plugin (#50) --- CHANGES.md | 1 + .../define/JsonRpcHttpClientInstrumentation.java | 13 +------------ .../service-agent/java-agent/Supported-list.md | 1 + .../plugin/scenarios/jsonrpc4j-1.x-scenario/pom.xml | 4 ++-- .../apm/testcase/jsonrpc4j/Application.java | 6 +++--- .../testcase/jsonrpc4j/services/DemoServiceImp.java | 2 -- .../jsonrpc4j-1.x-scenario/support-version.list | 1 + 7 files changed, 9 insertions(+), 19 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index eacd9f80c..a684394a5 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -34,6 +34,7 @@ Release Notes. * Make `HTTP method` in the operation name according to runtime, rather than previous code-level definition, which used to have possibilities including multiple HTTP methods. * Fix the bug that httpasyncclient-4.x-plugin does not take effect every time. * Add plugin to support ClickHouse JDBC driver. +* Fix version compatibility for JsonRPC4J plugin. #### Documentation diff --git a/apm-sniffer/apm-sdk-plugin/jsonrpc4j-1.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/jsonrpc4j/define/JsonRpcHttpClientInstrumentation.java b/apm-sniffer/apm-sdk-plugin/jsonrpc4j-1.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/jsonrpc4j/define/JsonRpcHttpClientInstrumentation.java index 212e6b897..9cb81da42 100644 --- a/apm-sniffer/apm-sdk-plugin/jsonrpc4j-1.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/jsonrpc4j/define/JsonRpcHttpClientInstrumentation.java +++ b/apm-sniffer/apm-sdk-plugin/jsonrpc4j-1.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/jsonrpc4j/define/JsonRpcHttpClientInstrumentation.java @@ -52,18 +52,7 @@ public class JsonRpcHttpClientInstrumentation extends ClassInstanceMethodsEnhanc new ConstructorInterceptPoint() { @Override public ElementMatcher getConstructorMatcher() { - return ElementMatchers.takesArguments(6).and(ElementMatchers.takesArgument(1, URL.class)); - } - - @Override - public String getConstructorInterceptor() { - return INTERCEPTOR_CLASS; - } - }, - new ConstructorInterceptPoint() { - @Override - public ElementMatcher getConstructorMatcher() { - return ElementMatchers.takesArguments(5).and(ElementMatchers.takesArgument(1, URL.class)); + return ElementMatchers.takesArgument(1, URL.class); } @Override 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 025749037..677b09d85 100644 --- a/docs/en/setup/service-agent/java-agent/Supported-list.md +++ b/docs/en/setup/service-agent/java-agent/Supported-list.md @@ -56,6 +56,7 @@ metrics based on the tracing data. * [Brpc-Java](https://github.com/baidu/brpc-java) 2.3.7 -> 2.5.3 * [Thrift](https://github.com/apache/thrift/tree/master/lib/java) 0.10.0 -> 0.12.0 * [Apache CXF](https://github.com/apache/cxf) 3.x + * [JSONRPC4J](https://github.com/briandilley/jsonrpc4j) 1.2.0 -> 1.6 * MQ * [RocketMQ](https://github.com/apache/rocketmq) 4.x * [Kafka](http://kafka.apache.org) 0.11.0.0 -> 2.8.0 diff --git a/test/plugin/scenarios/jsonrpc4j-1.x-scenario/pom.xml b/test/plugin/scenarios/jsonrpc4j-1.x-scenario/pom.xml index 4579d75f1..b36c17bc0 100644 --- a/test/plugin/scenarios/jsonrpc4j-1.x-scenario/pom.xml +++ b/test/plugin/scenarios/jsonrpc4j-1.x-scenario/pom.xml @@ -33,7 +33,7 @@ UTF-8 1.8 2.1.6.RELEASE - 1.5.3 + 1.5.3 @@ -57,7 +57,7 @@ com.github.briandilley.jsonrpc4j jsonrpc4j - ${jsonrpc.version} + ${test.framework.version} diff --git a/test/plugin/scenarios/jsonrpc4j-1.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/jsonrpc4j/Application.java b/test/plugin/scenarios/jsonrpc4j-1.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/jsonrpc4j/Application.java index d9955df12..90238c71f 100644 --- a/test/plugin/scenarios/jsonrpc4j-1.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/jsonrpc4j/Application.java +++ b/test/plugin/scenarios/jsonrpc4j-1.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/jsonrpc4j/Application.java @@ -18,7 +18,7 @@ package org.apache.skywalking.apm.testcase.jsonrpc4j; -import com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceImplExporter; +import com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceExporter; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; @@ -30,7 +30,7 @@ public class Application { } @Bean - public AutoJsonRpcServiceImplExporter serviceImplExporter() { - return new AutoJsonRpcServiceImplExporter(); + public AutoJsonRpcServiceExporter serviceImplExporter() { + return new AutoJsonRpcServiceExporter(); } } diff --git a/test/plugin/scenarios/jsonrpc4j-1.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/jsonrpc4j/services/DemoServiceImp.java b/test/plugin/scenarios/jsonrpc4j-1.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/jsonrpc4j/services/DemoServiceImp.java index 5323cc2e8..58ff6c599 100644 --- a/test/plugin/scenarios/jsonrpc4j-1.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/jsonrpc4j/services/DemoServiceImp.java +++ b/test/plugin/scenarios/jsonrpc4j-1.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/jsonrpc4j/services/DemoServiceImp.java @@ -18,10 +18,8 @@ package org.apache.skywalking.apm.testcase.jsonrpc4j.services; -import com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceImpl; import org.springframework.stereotype.Service; -@AutoJsonRpcServiceImpl @Service public class DemoServiceImp implements DemoService { diff --git a/test/plugin/scenarios/jsonrpc4j-1.x-scenario/support-version.list b/test/plugin/scenarios/jsonrpc4j-1.x-scenario/support-version.list index b54a46899..4fd28a172 100644 --- a/test/plugin/scenarios/jsonrpc4j-1.x-scenario/support-version.list +++ b/test/plugin/scenarios/jsonrpc4j-1.x-scenario/support-version.list @@ -18,3 +18,4 @@ 1.5.3 1.4.6 1.3.3 +1.2.0