Skip to content

Commit df3eb00

Browse files
Quartz refinements (#36)
2 parents d69cda4 + 95a8f63 commit df3eb00

File tree

6 files changed

+101
-3
lines changed

6 files changed

+101
-3
lines changed
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
[
22
"reflect-config.json",
3-
"resource-config.json"
3+
"resource-config.json",
4+
"serialization-config.json"
45
]

metadata/org.quartz-scheduler/quartz/2.3.2/reflect-config.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,5 +83,26 @@
8383
"typeReachable": "org.quartz.impl.StdSchedulerFactory"
8484
},
8585
"allDeclaredConstructors": true
86+
},
87+
{
88+
"name": "org.quartz.impl.jdbcjobstore.StdJDBCDelegate",
89+
"condition": {
90+
"typeReachable": "org.quartz.impl.jdbcjobstore.JobStoreSupport"
91+
},
92+
"allDeclaredConstructors": true
93+
},
94+
{
95+
"name": "org.quartz.JobDataMap",
96+
"condition": {
97+
"typeReachable": "org.quartz.impl.jdbcjobstore.StdJDBCDelegate"
98+
},
99+
"allDeclaredConstructors": true
100+
},
101+
{
102+
"name": "org.quartz.impl.triggers.SimpleTriggerImpl",
103+
"condition": {
104+
"typeReachable": "org.quartz.impl.jdbcjobstore.JobStoreSupport"
105+
},
106+
"allPublicMethods": true
86107
}
87108
]
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
[
2+
{
3+
"name": "org.quartz.JobDataMap",
4+
"condition": {
5+
"typeReachable": "org.quartz.impl.jdbcjobstore.JobStoreSupport"
6+
}
7+
},
8+
{
9+
"name": "org.quartz.utils.DirtyFlagMap",
10+
"condition": {
11+
"typeReachable": "org.quartz.impl.jdbcjobstore.JobStoreSupport"
12+
}
13+
},
14+
{
15+
"name": "org.quartz.utils.StringKeyDirtyFlagMap",
16+
"condition": {
17+
"typeReachable": "org.quartz.impl.jdbcjobstore.JobStoreSupport"
18+
}
19+
},
20+
{
21+
"name": "java.util.HashMap",
22+
"condition": {
23+
"typeReachable": "org.quartz.impl.jdbcjobstore.JobStoreSupport"
24+
}
25+
},
26+
{
27+
"name": "java.lang.String",
28+
"condition": {
29+
"typeReachable": "org.quartz.impl.jdbcjobstore.JobStoreSupport"
30+
}
31+
}
32+
]

tests/src/org.quartz-scheduler/quartz/2.3.2/build.gradle

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@ plugins {
1414
String libraryVersion = TestUtils.testedLibraryVersion
1515

1616
dependencies {
17-
testImplementation("org.quartz-scheduler:quartz:$libraryVersion")
18-
testImplementation('org.assertj:assertj-core:3.22.0')
17+
testImplementation("org.slf4j:slf4j-api:1.7.36")
18+
testImplementation("org.slf4j:slf4j-simple:1.7.36")
19+
testImplementation("org.quartz-scheduler:quartz:$libraryVersion")
20+
testImplementation('org.assertj:assertj-core:3.22.0')
1921
}
2022

2123
graalvmNative {

tests/src/org.quartz-scheduler/quartz/2.3.2/src/test/java/org/quartz/QuartzTest.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@
77
package org.quartz;
88

99
import java.io.InputStream;
10+
import java.util.Properties;
1011

1112
import org.junit.jupiter.api.Test;
1213
import org.quartz.impl.StdSchedulerFactory;
14+
import org.quartz.simpl.SimpleThreadPool;
1315

1416
import static org.assertj.core.api.Assertions.assertThat;
1517

@@ -42,4 +44,29 @@ void initializeStdFactory() throws SchedulerException {
4244
Scheduler scheduler = factory.getScheduler();
4345
assertThat(scheduler.getSchedulerName()).isEqualTo("DefaultQuartzScheduler");
4446
}
47+
48+
@Test
49+
void typicalUseCase() throws SchedulerException, InterruptedException {
50+
Properties properties = new Properties();
51+
52+
properties.put(StdSchedulerFactory.PROP_THREAD_POOL_CLASS, SimpleThreadPool.class.getName());
53+
properties.put(StdSchedulerFactory.PROP_THREAD_POOL_PREFIX + ".threadCount", Integer.toString(2));
54+
55+
StdSchedulerFactory factory = new StdSchedulerFactory(properties);
56+
Scheduler scheduler = factory.getScheduler();
57+
scheduler.start();
58+
59+
JobDetail jobDetail = JobBuilder.newJob(SimpleJob.class).withIdentity("simpleJob").build();
60+
61+
SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule().withIntervalInMilliseconds(10).repeatForever();
62+
Trigger trigger = TriggerBuilder.newTrigger().forJob(jobDetail)
63+
.withIdentity("simpleJobTrigger")
64+
.withSchedule(scheduleBuilder).build();
65+
66+
// Tell quartz to schedule the job using our trigger
67+
scheduler.scheduleJob(jobDetail, trigger);
68+
69+
Thread.sleep(100);
70+
}
71+
4572
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/*
2+
* Copyright and related rights waived via CC0
3+
*
4+
* You should have received a copy of the CC0 legalcode along with this
5+
* work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
6+
*/
7+
package org.quartz;
8+
9+
public class SimpleJob implements Job {
10+
11+
@Override
12+
public void execute(JobExecutionContext context) {
13+
System.out.println("SimpleJob running");
14+
}
15+
}

0 commit comments

Comments
 (0)