diff --git a/Others/quartz/2.5.1/24.03-lts-sp2/Dockerfile b/Others/quartz/2.5.1/24.03-lts-sp2/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..f5d0bcf4029eb40eeb5d454d230456980069795e --- /dev/null +++ b/Others/quartz/2.5.1/24.03-lts-sp2/Dockerfile @@ -0,0 +1,37 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp2 +FROM ${BASE} as BUILDER +ARG TARGETARCH +ARG BUILDARCH +ARG VERSION=2.5.1 +ARG JDK_VERSION=17.0.12 + +RUN dnf update -y \ + && dnf install -y wget maven gettext \ + && dnf clean all \ + && rm -rf /var/cache/dnf + +RUN if [ "$TARGETARCH" = "amd64" ]; then \ + BUILDARCH="x64"; \ + elif [ "$TARGETARCH" = "arm64" ]; then \ + BUILDARCH="aarch64"; \ + fi \ + && cd / \ + && wget https://download.oracle.com/java/17/archive/jdk-${JDK_VERSION}_linux-${BUILDARCH}_bin.tar.gz \ + && tar -zxvf jdk-${JDK_VERSION}_linux-${BUILDARCH}_bin.tar.gz \ + && rm -f jdk-${JDK_VERSION}_linux-${BUILDARCH}_bin.tar.gz + +ENV JAVA_HOME=/jdk-17.0.12 +ENV PATH=/jdk-17.0.12/bin:$PATH + +WORKDIR /opt/quartz + +COPY QuartzDemo.java src/main/java/com/example/QuartzDemo.java +COPY SimpleJob.java src/main/java/com/example/SimpleJob.java +COPY pom.xml.template pom.xml.template + +ENV QUARTZ_VERSION=${VERSION} + +RUN envsubst < pom.xml.template > pom.xml \ + && mvn clean package -Dfile.encoding=UTF-8 + +CMD ["java", "-jar", "./target/quartz-demo-1.0-SNAPSHOT.jar"] diff --git a/Others/quartz/2.5.1/24.03-lts-sp2/QuartzDemo.java b/Others/quartz/2.5.1/24.03-lts-sp2/QuartzDemo.java new file mode 100644 index 0000000000000000000000000000000000000000..28037d2ae61579a51c0cbb5a40ef4f0e2a819a14 --- /dev/null +++ b/Others/quartz/2.5.1/24.03-lts-sp2/QuartzDemo.java @@ -0,0 +1,36 @@ +package com.example; + +import org.quartz.*; +import org.quartz.impl.StdSchedulerFactory; + +public class QuartzDemo { + public static void main(String[] args) { + try { + Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); + + JobDetail job = JobBuilder.newJob(SimpleJob.class) + .withIdentity("job1", "group1") + .usingJobData("jobParam", "Hello, Quartz!") + .build(); + + Trigger trigger = TriggerBuilder.newTrigger() + .withIdentity("trigger1", "group1") + .startNow() + .withSchedule(SimpleScheduleBuilder.simpleSchedule() + .withIntervalInSeconds(5) + .repeatForever()) + .build(); + + scheduler.scheduleJob(job, trigger); + + scheduler.start(); + + while (true) { + Thread.sleep(1000); + } + + } catch (SchedulerException | InterruptedException e) { + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/Others/quartz/2.5.1/24.03-lts-sp2/SimpleJob.java b/Others/quartz/2.5.1/24.03-lts-sp2/SimpleJob.java new file mode 100644 index 0000000000000000000000000000000000000000..54880b4f79cbbdc45d37ed64392ee328ef0dd2f8 --- /dev/null +++ b/Others/quartz/2.5.1/24.03-lts-sp2/SimpleJob.java @@ -0,0 +1,19 @@ +package com.example; + +import org.quartz.Job; +import org.quartz.JobDataMap; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; + +public class SimpleJob implements Job { + @Override + public void execute(JobExecutionContext context) throws JobExecutionException { + System.out.println("SimpleJob is executed at: " + new java.util.Date()); + + JobDataMap dataMap = context.getJobDetail().getJobDataMap(); + String jobParam = dataMap.getString("jobParam"); + if(jobParam != null) { + System.out.println("Job parameter: " + jobParam); + } + } +} \ No newline at end of file diff --git a/Others/quartz/2.5.1/24.03-lts-sp2/pom.xml.template b/Others/quartz/2.5.1/24.03-lts-sp2/pom.xml.template new file mode 100644 index 0000000000000000000000000000000000000000..bc7cba28427f543794c88ede590a8b5713c635a2 --- /dev/null +++ b/Others/quartz/2.5.1/24.03-lts-sp2/pom.xml.template @@ -0,0 +1,66 @@ + + + 4.0.0 + + com.example + quartz-demo + 1.0-SNAPSHOT + + + UTF-8 + 17 + 17 + ${QUARTZ_VERSION} + 1.7.36 + 3.2.4 + + + + + org.quartz-scheduler + quartz + ${quartz.version} + + + org.slf4j + slf4j-simple + ${slf4j.version} + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + ${maven.compiler.source} + ${maven.compiler.target} + + + + org.apache.maven.plugins + maven-shade-plugin + ${shade.plugin.version} + + + package + + shade + + + + + com.example.QuartzDemo + + + + + + + + + \ No newline at end of file diff --git a/Others/quartz/README.md b/Others/quartz/README.md index 78f2b0784ca453f774469077c7723cf92ba727a5..dcd273bf918d207a7ffd0fa0437d7ee080c04661 100644 --- a/Others/quartz/README.md +++ b/Others/quartz/README.md @@ -18,6 +18,7 @@ The tag of each `quartz` docker image is consist of the version of `quartz` and | Tag | Currently | Architectures | |----------|-------------|------------------| +|[2.5.1-oe2403sp2](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/quartz/2.5.1/24.03-lts-sp2/Dockerfile) | quartz 2.5.1 on openEuler 24.03-LTS-SP2 | amd64, arm64 | |[2.5.0-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/quartz/2.5.0/24.03-lts-sp1/Dockerfile)| quartz 2.5.0 on openEuler 24.03-LTS-SP1 | amd64, arm64 | # Usage diff --git a/Others/quartz/doc/image-info.yml b/Others/quartz/doc/image-info.yml index c4471ef1acf3e0b1637a06e1a781c76041ef4866..e6fd4ad17d078e6694788c238b6f4935918635dd 100644 --- a/Others/quartz/doc/image-info.yml +++ b/Others/quartz/doc/image-info.yml @@ -11,6 +11,7 @@ tags: | | Tag | Currently | Architectures | |----------|-------------|------------------| + |[2.5.1-oe2403sp2](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/quartz/2.5.1/24.03-lts-sp2/Dockerfile) | quartz 2.5.1 on openEuler 24.03-LTS-SP2 | amd64, arm64 | |[2.5.0-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/quartz/2.5.0/24.03-lts-sp1/Dockerfile)| quartz 2.5.0 on openEuler 24.03-LTS-SP1 | amd64, arm64 | download: | @@ -101,4 +102,4 @@ license: Apache-2.0 license similar_packages: - Spring Scheduler: Spring Scheduler 是 Spring 框架内置的轻量级任务调度模块,通过简单的注解即可实现定时任务,无需额外依赖。 dependency: - - openjdk + - openjdk \ No newline at end of file diff --git a/Others/quartz/meta.yml b/Others/quartz/meta.yml index a956478c1448c62b0848a392b50bbdf6be82e9d9..978abeddd9385d3cec6ea8b1d240dad4c065cde0 100644 --- a/Others/quartz/meta.yml +++ b/Others/quartz/meta.yml @@ -1,3 +1,6 @@ 2.5.0-oe2403sp1: path: 2.5.0/24.03-lts-sp1/Dockerfile + +2.5.1-oe2403sp2: + path: 2.5.1/24.03-lts-sp2/Dockerfile \ No newline at end of file