From ea6fcbd3b2667ba6bf42d7764350ed54c1786377 Mon Sep 17 00:00:00 2001
From: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com>
Date: Wed, 24 May 2023 15:53:40 +0200
Subject: [PATCH 1/3] cleanup quartz plugin
---
apm-agent-builds/pom.xml | 4 +-
.../apm-quartz-common}/pom.xml | 19 +-----
...ractJobTransactionNameInstrumentation.java | 0
.../quartzjob/JobExecutionContextHandler.java | 0
.../apm/agent/quartzjob/package-info.java | 0
...JobTransactionNameInstrumentationTest.java | 51 +---------------
.../apm-quartz-plugin-1}/pom.xml | 8 +--
.../Quartz1JobExecutionContextHandler.java | 0
...rtz1JobTransactionNameInstrumentation.java | 0
.../apm/agent/quartzjob/package-info.java | 0
...ic.apm.agent.sdk.ElasticApmInstrumentation | 0
...JobTransactionNameInstrumentationTest.java | 20 +------
.../apm-quartz-plugin-2}/pom.xml | 8 +--
.../Quartz2JobExecutionContextHandler.java | 0
...rtz2JobTransactionNameInstrumentation.java | 0
.../apm/agent/quartzjob/package-info.java | 0
...ic.apm.agent.sdk.ElasticApmInstrumentation | 0
...JobTransactionNameInstrumentationTest.java | 58 +++++++++++++------
.../pom.xml | 15 ++---
apm-agent-plugins/pom.xml | 2 +-
20 files changed, 66 insertions(+), 119 deletions(-)
rename apm-agent-plugins/{apm-quartz-job-plugin/quartz-common => apm-quartz/apm-quartz-common}/pom.xml (67%)
rename apm-agent-plugins/{apm-quartz-job-plugin/quartz-common => apm-quartz/apm-quartz-common}/src/main/java/co/elastic/apm/agent/quartzjob/AbstractJobTransactionNameInstrumentation.java (100%)
rename apm-agent-plugins/{apm-quartz-job-plugin/quartz-common => apm-quartz/apm-quartz-common}/src/main/java/co/elastic/apm/agent/quartzjob/JobExecutionContextHandler.java (100%)
rename apm-agent-plugins/{apm-quartz-job-plugin/apm-quartz-1-plugin => apm-quartz/apm-quartz-common}/src/main/java/co/elastic/apm/agent/quartzjob/package-info.java (100%)
rename apm-agent-plugins/{apm-quartz-job-plugin/quartz-common => apm-quartz/apm-quartz-common}/src/test/java/co/elastic/apm/agent/quartzjob/AbstractJobTransactionNameInstrumentationTest.java (74%)
rename apm-agent-plugins/{apm-quartz-job-plugin/apm-quartz-1-plugin => apm-quartz/apm-quartz-plugin-1}/pom.xml (85%)
rename apm-agent-plugins/{apm-quartz-job-plugin/apm-quartz-1-plugin => apm-quartz/apm-quartz-plugin-1}/src/main/java/co/elastic/apm/agent/quartzjob/Quartz1JobExecutionContextHandler.java (100%)
rename apm-agent-plugins/{apm-quartz-job-plugin/apm-quartz-1-plugin => apm-quartz/apm-quartz-plugin-1}/src/main/java/co/elastic/apm/agent/quartzjob/Quartz1JobTransactionNameInstrumentation.java (100%)
rename apm-agent-plugins/{apm-quartz-job-plugin/apm-quartz-2-plugin => apm-quartz/apm-quartz-plugin-1}/src/main/java/co/elastic/apm/agent/quartzjob/package-info.java (100%)
rename apm-agent-plugins/{apm-quartz-job-plugin/apm-quartz-1-plugin => apm-quartz/apm-quartz-plugin-1}/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation (100%)
rename apm-agent-plugins/{apm-quartz-job-plugin/apm-quartz-1-plugin => apm-quartz/apm-quartz-plugin-1}/src/test/java/co/elastic/apm/agent/quartzjob/Quartz1JobTransactionNameInstrumentationTest.java (90%)
rename apm-agent-plugins/{apm-quartz-job-plugin/apm-quartz-2-plugin => apm-quartz/apm-quartz-plugin-2}/pom.xml (89%)
rename apm-agent-plugins/{apm-quartz-job-plugin/apm-quartz-2-plugin => apm-quartz/apm-quartz-plugin-2}/src/main/java/co/elastic/apm/agent/quartzjob/Quartz2JobExecutionContextHandler.java (100%)
rename apm-agent-plugins/{apm-quartz-job-plugin/apm-quartz-2-plugin => apm-quartz/apm-quartz-plugin-2}/src/main/java/co/elastic/apm/agent/quartzjob/Quartz2JobTransactionNameInstrumentation.java (100%)
rename apm-agent-plugins/{apm-quartz-job-plugin/quartz-common => apm-quartz/apm-quartz-plugin-2}/src/main/java/co/elastic/apm/agent/quartzjob/package-info.java (100%)
rename apm-agent-plugins/{apm-quartz-job-plugin/apm-quartz-2-plugin => apm-quartz/apm-quartz-plugin-2}/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation (100%)
rename apm-agent-plugins/{apm-quartz-job-plugin/apm-quartz-2-plugin => apm-quartz/apm-quartz-plugin-2}/src/test/java/co/elastic/apm/agent/quartzjob/Quartz2JobTransactionNameInstrumentationTest.java (78%)
rename apm-agent-plugins/{apm-quartz-job-plugin => apm-quartz}/pom.xml (79%)
diff --git a/apm-agent-builds/pom.xml b/apm-agent-builds/pom.xml
index 1332244aad..5caacc626b 100644
--- a/apm-agent-builds/pom.xml
+++ b/apm-agent-builds/pom.xml
@@ -284,12 +284,12 @@
${project.groupId}
- apm-quartz-1-plugin
+ apm-quartz-plugin-1
${project.version}
${project.groupId}
- apm-quartz-2-plugin
+ apm-quartz-plugin-2
${project.version}
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/quartz-common/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml
similarity index 67%
rename from apm-agent-plugins/apm-quartz-job-plugin/quartz-common/pom.xml
rename to apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml
index 709775073f..5f4433cfc3 100644
--- a/apm-agent-plugins/apm-quartz-job-plugin/quartz-common/pom.xml
+++ b/apm-agent-plugins/apm-quartz/apm-quartz-common/pom.xml
@@ -1,17 +1,17 @@
- apm-quartz-job-plugin
+ apm-quartz
co.elastic.apm
1.38.1-SNAPSHOT
4.0.0
- quartz-common
+ apm-quartz-common
${project.groupId}:${project.artifactId}
- 2.3.1
+ 1.7.3
${project.basedir}/../../..
@@ -22,19 +22,6 @@
${version.quartz}
provided
-
- org.springframework
- spring-context-support
- ${version.spring}
- test
-
-
-
- org.quartz-scheduler
- quartz-jobs
- ${version.quartz}
- test
-
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/quartz-common/src/main/java/co/elastic/apm/agent/quartzjob/AbstractJobTransactionNameInstrumentation.java b/apm-agent-plugins/apm-quartz/apm-quartz-common/src/main/java/co/elastic/apm/agent/quartzjob/AbstractJobTransactionNameInstrumentation.java
similarity index 100%
rename from apm-agent-plugins/apm-quartz-job-plugin/quartz-common/src/main/java/co/elastic/apm/agent/quartzjob/AbstractJobTransactionNameInstrumentation.java
rename to apm-agent-plugins/apm-quartz/apm-quartz-common/src/main/java/co/elastic/apm/agent/quartzjob/AbstractJobTransactionNameInstrumentation.java
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/quartz-common/src/main/java/co/elastic/apm/agent/quartzjob/JobExecutionContextHandler.java b/apm-agent-plugins/apm-quartz/apm-quartz-common/src/main/java/co/elastic/apm/agent/quartzjob/JobExecutionContextHandler.java
similarity index 100%
rename from apm-agent-plugins/apm-quartz-job-plugin/quartz-common/src/main/java/co/elastic/apm/agent/quartzjob/JobExecutionContextHandler.java
rename to apm-agent-plugins/apm-quartz/apm-quartz-common/src/main/java/co/elastic/apm/agent/quartzjob/JobExecutionContextHandler.java
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-1-plugin/src/main/java/co/elastic/apm/agent/quartzjob/package-info.java b/apm-agent-plugins/apm-quartz/apm-quartz-common/src/main/java/co/elastic/apm/agent/quartzjob/package-info.java
similarity index 100%
rename from apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-1-plugin/src/main/java/co/elastic/apm/agent/quartzjob/package-info.java
rename to apm-agent-plugins/apm-quartz/apm-quartz-common/src/main/java/co/elastic/apm/agent/quartzjob/package-info.java
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/quartz-common/src/test/java/co/elastic/apm/agent/quartzjob/AbstractJobTransactionNameInstrumentationTest.java b/apm-agent-plugins/apm-quartz/apm-quartz-common/src/test/java/co/elastic/apm/agent/quartzjob/AbstractJobTransactionNameInstrumentationTest.java
similarity index 74%
rename from apm-agent-plugins/apm-quartz-job-plugin/quartz-common/src/test/java/co/elastic/apm/agent/quartzjob/AbstractJobTransactionNameInstrumentationTest.java
rename to apm-agent-plugins/apm-quartz/apm-quartz-common/src/test/java/co/elastic/apm/agent/quartzjob/AbstractJobTransactionNameInstrumentationTest.java
index e2665cede6..bccc2f42a2 100644
--- a/apm-agent-plugins/apm-quartz-job-plugin/quartz-common/src/test/java/co/elastic/apm/agent/quartzjob/AbstractJobTransactionNameInstrumentationTest.java
+++ b/apm-agent-plugins/apm-quartz/apm-quartz-common/src/test/java/co/elastic/apm/agent/quartzjob/AbstractJobTransactionNameInstrumentationTest.java
@@ -21,34 +21,25 @@
import co.elastic.apm.agent.AbstractInstrumentationTest;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.impl.TracerInternalApiUtils;
-import co.elastic.apm.agent.tracer.Outcome;
import co.elastic.apm.agent.impl.transaction.Span;
import co.elastic.apm.agent.impl.transaction.Transaction;
+import co.elastic.apm.agent.tracer.Outcome;
import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.Assumptions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.JobExecutionException;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;
-import org.quartz.jobs.DirectoryScanJob;
-import org.quartz.jobs.DirectoryScanListener;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
import static org.assertj.core.api.Assertions.assertThat;
abstract class AbstractJobTransactionNameInstrumentationTest extends AbstractInstrumentationTest {
- private Scheduler scheduler;
+ protected Scheduler scheduler;
@BeforeEach
void prepare() throws SchedulerException {
@@ -105,15 +96,7 @@ public void testAgentPaused() throws SchedulerException {
assertThat(objectPoolFactory.getSpanPool().getRequestedObjectCount()).isEqualTo(spanCount);
}
- @Test
- void testSpringJob() throws SchedulerException {
- Assumptions.assumeFalse(ignoreTestSpringJob());
- JobDetail job = buildJobDetailTestSpringJob("dummyJobName", "group1");
- scheduler.scheduleJob(job, createTrigger());
-
- verifyTransactionFromJobDetails(job, Outcome.SUCCESS);
- }
@Test
void testJobWithResult() throws SchedulerException {
@@ -124,24 +107,6 @@ void testJobWithResult() throws SchedulerException {
assertThat(transaction.getResult()).isEqualTo("this is the result");
}
- @Test
- void testDirectoryScan() throws SchedulerException, IOException {
- Assumptions.assumeFalse(ignoreDirectoryScanTest());
-
- Path directoryScanTest = Files.createTempDirectory("DirectoryScanTest");
-
- final JobDetail job = JobBuilder.newJob(DirectoryScanJob.class)
- .withIdentity("dummyJobName")
- .usingJobData(DirectoryScanJob.DIRECTORY_NAME, directoryScanTest.toAbsolutePath().toString())
- .usingJobData(DirectoryScanJob.DIRECTORY_SCAN_LISTENER_NAME, TestDirectoryScanListener.class.getSimpleName())
- .build();
-
- scheduler.getContext().put(TestDirectoryScanListener.class.getSimpleName(), new TestDirectoryScanListener());
- scheduler.scheduleJob(job, createTrigger());
-
- verifyTransactionFromJobDetails(job, Outcome.SUCCESS);
- }
-
@Test
void testJobWithException() throws SchedulerException {
JobDetail job = buildJobDetailTestJobWithException("dummyJobName");
@@ -174,16 +139,4 @@ public Transaction verifyTransaction(Transaction transaction, String expectedNam
abstract JobDetail buildJobDetailTestJobWithException(String name);
- abstract JobDetail buildJobDetailTestSpringJob(String name, String groupName);
-
- abstract boolean ignoreTestSpringJob();
-
- abstract boolean ignoreDirectoryScanTest();
-
- public static class TestDirectoryScanListener implements DirectoryScanListener {
-
- @Override
- public void filesUpdatedOrAdded(File[] files) {
- }
- }
}
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-1-plugin/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml
similarity index 85%
rename from apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-1-plugin/pom.xml
rename to apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml
index f2781be992..5f31c8c76a 100644
--- a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-1-plugin/pom.xml
+++ b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/pom.xml
@@ -1,13 +1,13 @@
- apm-quartz-job-plugin
+ apm-quartz
co.elastic.apm
1.38.1-SNAPSHOT
4.0.0
- apm-quartz-1-plugin
+ apm-quartz-plugin-1
${project.groupId}:${project.artifactId}
@@ -18,7 +18,7 @@
${project.groupId}
- quartz-common
+ apm-quartz-common
${project.version}
@@ -29,7 +29,7 @@
${project.groupId}
- quartz-common
+ apm-quartz-common
${project.version}
test-jar
test
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-1-plugin/src/main/java/co/elastic/apm/agent/quartzjob/Quartz1JobExecutionContextHandler.java b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/src/main/java/co/elastic/apm/agent/quartzjob/Quartz1JobExecutionContextHandler.java
similarity index 100%
rename from apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-1-plugin/src/main/java/co/elastic/apm/agent/quartzjob/Quartz1JobExecutionContextHandler.java
rename to apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/src/main/java/co/elastic/apm/agent/quartzjob/Quartz1JobExecutionContextHandler.java
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-1-plugin/src/main/java/co/elastic/apm/agent/quartzjob/Quartz1JobTransactionNameInstrumentation.java b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/src/main/java/co/elastic/apm/agent/quartzjob/Quartz1JobTransactionNameInstrumentation.java
similarity index 100%
rename from apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-1-plugin/src/main/java/co/elastic/apm/agent/quartzjob/Quartz1JobTransactionNameInstrumentation.java
rename to apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/src/main/java/co/elastic/apm/agent/quartzjob/Quartz1JobTransactionNameInstrumentation.java
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-2-plugin/src/main/java/co/elastic/apm/agent/quartzjob/package-info.java b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/src/main/java/co/elastic/apm/agent/quartzjob/package-info.java
similarity index 100%
rename from apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-2-plugin/src/main/java/co/elastic/apm/agent/quartzjob/package-info.java
rename to apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/src/main/java/co/elastic/apm/agent/quartzjob/package-info.java
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-1-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation
similarity index 100%
rename from apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-1-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation
rename to apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-1-plugin/src/test/java/co/elastic/apm/agent/quartzjob/Quartz1JobTransactionNameInstrumentationTest.java b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/src/test/java/co/elastic/apm/agent/quartzjob/Quartz1JobTransactionNameInstrumentationTest.java
similarity index 90%
rename from apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-1-plugin/src/test/java/co/elastic/apm/agent/quartzjob/Quartz1JobTransactionNameInstrumentationTest.java
rename to apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/src/test/java/co/elastic/apm/agent/quartzjob/Quartz1JobTransactionNameInstrumentationTest.java
index 6a4fe928f9..365104d42b 100644
--- a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-1-plugin/src/test/java/co/elastic/apm/agent/quartzjob/Quartz1JobTransactionNameInstrumentationTest.java
+++ b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-1/src/test/java/co/elastic/apm/agent/quartzjob/Quartz1JobTransactionNameInstrumentationTest.java
@@ -19,8 +19,8 @@
package co.elastic.apm.agent.quartzjob;
import co.elastic.apm.agent.impl.ElasticApmTracer;
-import co.elastic.apm.agent.tracer.Outcome;
import co.elastic.apm.agent.impl.transaction.Transaction;
+import co.elastic.apm.agent.tracer.Outcome;
import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
@@ -79,23 +79,6 @@ JobDetail buildJobDetailTestJobWithException(String name) {
return buildJobDetail(TestJobWithException.class, name);
}
- @Override
- JobDetail buildJobDetailTestSpringJob(String name, String groupName) {
- throw new UnsupportedOperationException("Spring scheduling work with updated version of quartz.");
- }
-
- @Override
- boolean ignoreTestSpringJob() {
- // Spring scheduling work with updated version of quartz(2.*.*).
- return true;
- }
-
- @Override
- boolean ignoreDirectoryScanTest() {
- // DirectoryScanJob not present at this version
- return true;
- }
-
private JobDetail buildJobDetail(Class jobClass, String name) {
JobDetail job = new JobDetail();
job.setName(name);
@@ -153,5 +136,4 @@ public void execute(JobExecutionContext context) throws JobExecutionException {
}
}
-
}
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-2-plugin/pom.xml b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml
similarity index 89%
rename from apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-2-plugin/pom.xml
rename to apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml
index 143a79ae30..9f7eae281f 100644
--- a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-2-plugin/pom.xml
+++ b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/pom.xml
@@ -1,13 +1,13 @@
- apm-quartz-job-plugin
+ apm-quartz
co.elastic.apm
1.38.1-SNAPSHOT
4.0.0
- apm-quartz-2-plugin
+ apm-quartz-plugin-2
${project.groupId}:${project.artifactId}
@@ -18,7 +18,7 @@
${project.groupId}
- quartz-common
+ apm-quartz-common
${project.version}
@@ -41,7 +41,7 @@
${project.groupId}
- quartz-common
+ apm-quartz-common
${project.version}
test-jar
test
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-2-plugin/src/main/java/co/elastic/apm/agent/quartzjob/Quartz2JobExecutionContextHandler.java b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/src/main/java/co/elastic/apm/agent/quartzjob/Quartz2JobExecutionContextHandler.java
similarity index 100%
rename from apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-2-plugin/src/main/java/co/elastic/apm/agent/quartzjob/Quartz2JobExecutionContextHandler.java
rename to apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/src/main/java/co/elastic/apm/agent/quartzjob/Quartz2JobExecutionContextHandler.java
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-2-plugin/src/main/java/co/elastic/apm/agent/quartzjob/Quartz2JobTransactionNameInstrumentation.java b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/src/main/java/co/elastic/apm/agent/quartzjob/Quartz2JobTransactionNameInstrumentation.java
similarity index 100%
rename from apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-2-plugin/src/main/java/co/elastic/apm/agent/quartzjob/Quartz2JobTransactionNameInstrumentation.java
rename to apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/src/main/java/co/elastic/apm/agent/quartzjob/Quartz2JobTransactionNameInstrumentation.java
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/quartz-common/src/main/java/co/elastic/apm/agent/quartzjob/package-info.java b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/src/main/java/co/elastic/apm/agent/quartzjob/package-info.java
similarity index 100%
rename from apm-agent-plugins/apm-quartz-job-plugin/quartz-common/src/main/java/co/elastic/apm/agent/quartzjob/package-info.java
rename to apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/src/main/java/co/elastic/apm/agent/quartzjob/package-info.java
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-2-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation
similarity index 100%
rename from apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-2-plugin/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation
rename to apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/src/main/resources/META-INF/services/co.elastic.apm.agent.sdk.ElasticApmInstrumentation
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-2-plugin/src/test/java/co/elastic/apm/agent/quartzjob/Quartz2JobTransactionNameInstrumentationTest.java b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/src/test/java/co/elastic/apm/agent/quartzjob/Quartz2JobTransactionNameInstrumentationTest.java
similarity index 78%
rename from apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-2-plugin/src/test/java/co/elastic/apm/agent/quartzjob/Quartz2JobTransactionNameInstrumentationTest.java
rename to apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/src/test/java/co/elastic/apm/agent/quartzjob/Quartz2JobTransactionNameInstrumentationTest.java
index 4f1114588f..2ec969cd59 100644
--- a/apm-agent-plugins/apm-quartz-job-plugin/apm-quartz-2-plugin/src/test/java/co/elastic/apm/agent/quartzjob/Quartz2JobTransactionNameInstrumentationTest.java
+++ b/apm-agent-plugins/apm-quartz/apm-quartz-plugin-2/src/test/java/co/elastic/apm/agent/quartzjob/Quartz2JobTransactionNameInstrumentationTest.java
@@ -19,19 +19,27 @@
package co.elastic.apm.agent.quartzjob;
import co.elastic.apm.agent.impl.ElasticApmTracer;
-import co.elastic.apm.agent.tracer.Outcome;
import co.elastic.apm.agent.impl.transaction.Transaction;
+import co.elastic.apm.agent.tracer.Outcome;
+import org.junit.jupiter.api.Test;
import org.quartz.Job;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
+import org.quartz.SchedulerException;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.SimpleTrigger;
import org.quartz.TriggerBuilder;
+import org.quartz.jobs.DirectoryScanJob;
+import org.quartz.jobs.DirectoryScanListener;
import org.springframework.scheduling.quartz.QuartzJobBean;
import javax.annotation.Nullable;
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
import static org.assertj.core.api.Assertions.assertThat;
import static org.awaitility.Awaitility.await;
@@ -88,28 +96,13 @@ JobDetail buildJobDetailTestJobWithException(String name) {
return buildJobDetail(TestJobWithException.class, name);
}
- @Override
- JobDetail buildJobDetailTestSpringJob(String name, String groupName) {
- return buildJobDetail(TestSpringJob.class, name, groupName);
- }
-
- @Override
- boolean ignoreTestSpringJob() {
- return false;
- }
-
- @Override
- boolean ignoreDirectoryScanTest() {
- return false;
- }
-
private JobDetail buildJobDetail(Class jobClass, String name) {
return JobBuilder.newJob(jobClass)
.withIdentity(name)
.build();
}
- private JobDetail buildJobDetail(Class jobClass, String name, String groupName) {
+ private JobDetail buildJobDetail(Class jobClass, String name, @Nullable String groupName) {
if (groupName == null) {
return buildJobDetail(jobClass, name);
}
@@ -167,4 +160,35 @@ protected void executeInternal(JobExecutionContext context) throws JobExecutionE
}
}
+ @Test
+ void testSpringJob() throws SchedulerException {
+ JobDetail job = buildJobDetail(TestSpringJob.class, "dummyJobName", "group1");
+ scheduler.scheduleJob(job, createTrigger());
+
+ verifyTransactionFromJobDetails(job, Outcome.SUCCESS);
+ }
+
+ @Test
+ void testDirectoryScan() throws SchedulerException, IOException {
+ Path directoryScanTest = Files.createTempDirectory("DirectoryScanTest");
+
+ final JobDetail job = JobBuilder.newJob(DirectoryScanJob.class)
+ .withIdentity("dummyJobName")
+ .usingJobData(DirectoryScanJob.DIRECTORY_NAME, directoryScanTest.toAbsolutePath().toString())
+ .usingJobData(DirectoryScanJob.DIRECTORY_SCAN_LISTENER_NAME, TestDirectoryScanListener.class.getSimpleName())
+ .build();
+
+ scheduler.getContext().put(TestDirectoryScanListener.class.getSimpleName(), new TestDirectoryScanListener());
+ scheduler.scheduleJob(job, createTrigger());
+
+ verifyTransactionFromJobDetails(job, Outcome.SUCCESS);
+ }
+
+ public static class TestDirectoryScanListener implements DirectoryScanListener {
+
+ @Override
+ public void filesUpdatedOrAdded(File[] files) {
+ }
+ }
+
}
diff --git a/apm-agent-plugins/apm-quartz-job-plugin/pom.xml b/apm-agent-plugins/apm-quartz/pom.xml
similarity index 79%
rename from apm-agent-plugins/apm-quartz-job-plugin/pom.xml
rename to apm-agent-plugins/apm-quartz/pom.xml
index f52c3df114..dafc070cd7 100644
--- a/apm-agent-plugins/apm-quartz-job-plugin/pom.xml
+++ b/apm-agent-plugins/apm-quartz/pom.xml
@@ -1,12 +1,6 @@
4.0.0
- pom
-
- quartz-common
- apm-quartz-1-plugin
- apm-quartz-2-plugin
-
apm-agent-plugins
@@ -14,11 +8,18 @@
1.38.1-SNAPSHOT
- apm-quartz-job-plugin
+ apm-quartz
${project.groupId}:${project.artifactId}
+ pom
${project.basedir}/../..
+
+ apm-quartz-common
+ apm-quartz-plugin-1
+ apm-quartz-plugin-2
+
+
diff --git a/apm-agent-plugins/pom.xml b/apm-agent-plugins/pom.xml
index 800667f471..7b70fcc00f 100644
--- a/apm-agent-plugins/pom.xml
+++ b/apm-agent-plugins/pom.xml
@@ -38,7 +38,7 @@
apm-urlconnection-plugin
apm-jaxws-plugin
apm-scheduled-annotation-plugin
- apm-quartz-job-plugin
+ apm-quartz
apm-asynchttpclient-plugin
apm-jms-plugin
apm-hibernate-search-plugin
From 413a33508f55647eaf3da103afaf17fd5ed5e7eb Mon Sep 17 00:00:00 2001
From: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com>
Date: Wed, 24 May 2023 16:06:35 +0200
Subject: [PATCH 2/3] remove spring-boot version
---
.../apm-spring-webflux/apm-spring-webflux-testapp/pom.xml | 2 +-
pom.xml | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml
index de2334a2ca..e53cbfa6b3 100644
--- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml
+++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-testapp/pom.xml
@@ -96,7 +96,7 @@
org.springframework.boot
spring-boot-maven-plugin
- ${version.spring-boot}
+ 2.2.2.RELEASE
co.elastic.apm.agent.springwebflux.testapp.WebFluxApplication
diff --git a/pom.xml b/pom.xml
index d12563ab91..3718f0fa4e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -128,7 +128,6 @@
2.12.4
1.5.0
5.0.15.RELEASE
- 2.2.2.RELEASE
9.4.11.v20180605
1.0.81
From a91129d6eaaad7bb3c9a72e54e1ec04bdae067ec Mon Sep 17 00:00:00 2001
From: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com>
Date: Wed, 24 May 2023 17:19:31 +0200
Subject: [PATCH 3/3] remove 'version.logback'
---
pom.xml | 1 -
1 file changed, 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 3718f0fa4e..3eeb628938 100644
--- a/pom.xml
+++ b/pom.xml
@@ -118,7 +118,6 @@
2.14.2
5.9.1
4.13.2
- 1.2.3
4.9.1
1.7.36