diff --git a/CHANGES.md b/CHANGES.md
index 2b504f888..1d7d4c7c1 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -37,6 +37,7 @@ Release Notes.
* Fix gateway plugin async finish repeatedly when fallback url configured.
* Chore: polish methods naming for `Spring-Kafka` plugins.
* Remove plugins for ShardingSphere legacy version.
+* Update agent plugin for ElasticJob GA version
#### OAP-Backend
diff --git a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/pom.xml b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/pom.xml
similarity index 81%
rename from apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/pom.xml
rename to apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/pom.xml
index ed4ac59b2..61238bb02 100644
--- a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/pom.xml
+++ b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/pom.xml
@@ -24,15 +24,15 @@
4.0.0
- apm-elastic-job-3.x-plugin
+ apm-elasticjob-3.x-plugin
jar
- elastic-job-3.x-plugin
+ elasticjob-3.x-plugin
http://maven.apache.org
UTF-8
- 3.0.0-alpha
+ 3.0.0
@@ -42,5 +42,11 @@
${elasticjob.version}
provided
+
+ org.apache.shardingsphere.elasticjob
+ elasticjob-infra-common
+ ${elasticjob.version}
+ provided
+
diff --git a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/ElasticJobExecutorInterceptor.java b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/ElasticJobExecutorInterceptor.java
similarity index 78%
rename from apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/ElasticJobExecutorInterceptor.java
rename to apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/ElasticJobExecutorInterceptor.java
index 9c223ffb1..17f053255 100644
--- a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/ElasticJobExecutorInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/ElasticJobExecutorInterceptor.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.plugin.elasticjob;
-import org.apache.shardingsphere.elasticjob.api.listener.ShardingContexts;
+import org.apache.shardingsphere.elasticjob.infra.listener.ShardingContexts;
import org.apache.skywalking.apm.agent.core.context.ContextManager;
import org.apache.skywalking.apm.agent.core.context.tag.Tags;
import org.apache.skywalking.apm.agent.core.context.trace.AbstractSpan;
@@ -32,22 +32,23 @@ import java.lang.reflect.Method;
public class ElasticJobExecutorInterceptor implements InstanceMethodsAroundInterceptor {
@Override
public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class>[] argumentsTypes,
- MethodInterceptResult result) throws Throwable {
- ShardingContexts shardingContexts = (ShardingContexts) allArguments[0];
- Integer item = (Integer) allArguments[1];
+ MethodInterceptResult result) {
+ ShardingContexts shardingContexts = (ShardingContexts) allArguments[1];
+ Integer item = (Integer) allArguments[2];
String operateName = ComponentsDefine.ELASTIC_JOB.getName() + "/" + shardingContexts.getJobName();
AbstractSpan span = ContextManager.createLocalSpan(operateName);
span.setComponent(ComponentsDefine.ELASTIC_JOB);
Tags.LOGIC_ENDPOINT.set(span, Tags.VAL_LOCAL_SPAN_AS_LOGIC_ENDPOINT);
- span.tag("item", item == null ? "" : String.valueOf(item));
- span.tag("shardingTotalCount", Integer.toString(shardingContexts.getShardingTotalCount()));
- span.tag("taskId", shardingContexts.getTaskId());
- span.tag("shardingItemParameters", shardingContexts.getShardingItemParameters() == null ? "" : shardingContexts.getShardingItemParameters().toString());
+ span.tag(Tags.ofKey("item"), item == null ? "" : String.valueOf(item));
+ span.tag(Tags.ofKey("shardingTotalCount"), Integer.toString(shardingContexts.getShardingTotalCount()));
+ span.tag(Tags.ofKey("taskId"), shardingContexts.getTaskId());
+ span.tag(Tags.ofKey("shardingItemParameters"), shardingContexts.getShardingItemParameters() == null ?
+ "" : shardingContexts.getShardingItemParameters().toString());
}
@Override
public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class>[] argumentsTypes,
- Object ret) throws Throwable {
+ Object ret) {
ContextManager.stopSpan();
return ret;
}
diff --git a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/define/ElasticJobExecutorInstrumentation.java b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/define/ElasticJobExecutorInstrumentation.java
similarity index 85%
rename from apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/define/ElasticJobExecutorInstrumentation.java
rename to apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/define/ElasticJobExecutorInstrumentation.java
index eb45bf39f..79ff02382 100644
--- a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/define/ElasticJobExecutorInstrumentation.java
+++ b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/define/ElasticJobExecutorInstrumentation.java
@@ -24,6 +24,7 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterc
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 org.apache.skywalking.apm.plugin.elasticjob.ElasticJobExecutorInterceptor;
import static net.bytebuddy.matcher.ElementMatchers.named;
import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
@@ -34,8 +35,6 @@ public class ElasticJobExecutorInstrumentation extends ClassInstanceMethodsEnhan
private static final String ENHANCE_CLASS = "org.apache.shardingsphere.elasticjob.executor.ElasticJobExecutor";
- private static final String JOB_EXECUTOR_INTERCEPTOR_CLASS = "org.apache.skywalking.apm.plugin.elasticjob.ElasticJobExecutorInterceptor";
-
@Override
public ConstructorInterceptPoint[] getConstructorsInterceptPoints() {
return new ConstructorInterceptPoint[0];
@@ -48,15 +47,16 @@ public class ElasticJobExecutorInstrumentation extends ClassInstanceMethodsEnhan
@Override
public ElementMatcher getMethodsMatcher() {
- return named("process").and(takesArguments(3))
- .and(takesArgument(0, named("org.apache.shardingsphere.elasticjob.api.listener.ShardingContexts")))
- .and(takesArgument(1, int.class))
- .and(takesArgument(2, named("org.apache.shardingsphere.elasticjob.tracing.event.JobExecutionEvent")));
+ return named("process").and(takesArguments(4))
+ .and(takesArgument(0, named("org.apache.shardingsphere.elasticjob.api.JobConfiguration")))
+ .and(takesArgument(1, named("org.apache.shardingsphere.elasticjob.infra.listener.ShardingContexts")))
+ .and(takesArgument(2, int.class))
+ .and(takesArgument(3, named("org.apache.shardingsphere.elasticjob.tracing.event.JobExecutionEvent")));
}
@Override
public String getMethodsInterceptor() {
- return JOB_EXECUTOR_INTERCEPTOR_CLASS;
+ return ElasticJobExecutorInterceptor.class.getName();
}
@Override
diff --git a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/resources/skywalking-plugin.def b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/resources/skywalking-plugin.def
similarity index 88%
rename from apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/resources/skywalking-plugin.def
rename to apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/resources/skywalking-plugin.def
index d01c8db51..d1075fa96 100644
--- a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/resources/skywalking-plugin.def
+++ b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/resources/skywalking-plugin.def
@@ -14,4 +14,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-elastic-job-3.x=org.apache.skywalking.apm.plugin.elasticjob.define.ElasticJobExecutorInstrumentation
+elasticjob-3.x=org.apache.skywalking.apm.plugin.elasticjob.define.ElasticJobExecutorInstrumentation
diff --git a/apm-sniffer/apm-sdk-plugin/pom.xml b/apm-sniffer/apm-sdk-plugin/pom.xml
index 224c31971..075d2d302 100644
--- a/apm-sniffer/apm-sdk-plugin/pom.xml
+++ b/apm-sniffer/apm-sdk-plugin/pom.xml
@@ -61,7 +61,7 @@
rocketMQ-3.x-plugin
rocketMQ-4.x-plugin
elastic-job-2.x-plugin
- elastic-job-3.x-plugin
+ elasticjob-3.x-plugin
mongodb-2.x-plugin
httpasyncclient-4.x-plugin
kafka-commons
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 3c54b631f..55936b67a 100644
--- a/docs/en/setup/service-agent/java-agent/Plugin-list.md
+++ b/docs/en/setup/service-agent/java-agent/Plugin-list.md
@@ -13,7 +13,7 @@
- dubbo
- ehcache-2.x
- elastic-job-2.x
-- elastic-job-3.x
+- elasticjob-3.x
- elasticsearch-5.x
- elasticsearch-6.x
- elasticsearch-7.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 0f9c79190..72475c495 100644
--- a/docs/en/setup/service-agent/java-agent/Supported-list.md
+++ b/docs/en/setup/service-agent/java-agent/Supported-list.md
@@ -98,7 +98,7 @@ metrics based on the tracing data.
* [Sentinel: The Sentinel of Your Microservices](https://github.com/alibaba/Sentinel) 1.7.0 -> 1.8.1
* Scheduler
* [Elastic Job](https://github.com/elasticjob/elastic-job) 2.x
- * [Apache ShardingSphere-Elasticjob](https://github.com/apache/shardingsphere-elasticjob) 3.0.0-alpha
+ * [Apache ShardingSphere-Elasticjob](https://github.com/apache/shardingsphere-elasticjob) 3.x
* [Spring @Scheduled](https://github.com/spring-projects/spring-framework) 3.1+
* [Quartz Scheduler](https://github.com/quartz-scheduler/quartz) 2.x (Optional²)
* [XXL Job](https://github.com/xuxueli/xxl-job) 2.x
diff --git a/test/plugin/scenarios/elasticjob-3.x-scenario/pom.xml b/test/plugin/scenarios/elasticjob-3.x-scenario/pom.xml
index 1184b2574..ff091d956 100644
--- a/test/plugin/scenarios/elasticjob-3.x-scenario/pom.xml
+++ b/test/plugin/scenarios/elasticjob-3.x-scenario/pom.xml
@@ -31,7 +31,7 @@
UTF-8
1.8
- 3.0.0-alpha
+ 3.0.0
${test.framework.version}
2.1.6.RELEASE
@@ -134,4 +134,4 @@
-
\ No newline at end of file
+
diff --git a/test/plugin/scenarios/elasticjob-3.x-scenario/support-version.list b/test/plugin/scenarios/elasticjob-3.x-scenario/support-version.list
index ce26c5d41..62c408d1b 100644
--- a/test/plugin/scenarios/elasticjob-3.x-scenario/support-version.list
+++ b/test/plugin/scenarios/elasticjob-3.x-scenario/support-version.list
@@ -14,4 +14,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-3.0.0-alpha
+3.0.0