feat: support xxl-job executor NettyHandler (#30)

Only support jdk8, in jdk11 or jdk17 env, you should use file write and use urlClassLoader to load injectorClass or else.
This commit is contained in:
ReaJason
2025-01-22 18:36:19 +08:00
parent 08ffa47531
commit f9eb9dafa4
51 changed files with 1042 additions and 335 deletions
@@ -0,0 +1,24 @@
FROM maven:3.9.9-eclipse-temurin-8 AS builder
RUN set -ex \
&& cd /usr/src \
&& git clone --depth 1 -b 2.0.2 https://github.com/xuxueli/xxl-job.git . \
&& cd xxl-job-admin \
&& sed -i 's/spring\.datasource\.password=.*/spring.datasource.password=root/g' src/main/resources/application.properties \
&& sed -i 's|mysql://127\.0\.0\.1:3306|mysql://db:3306|g' src/main/resources/application.properties \
&& mvn clean package -DskipTests
FROM openjdk:8
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends wait-for-it default-mysql-client \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/xxl-job-admin/target/xxl-job-admin-2.0.2.jar /usr/src/xxl-job-admin-2.0.2.jar
COPY docker-entrypoint.sh /docker-entrypoint.sh
COPY --from=builder /usr/src/doc/db/tables_xxl_job.sql /usr/src/tables_xxl_job.sql
WORKDIR /usr/src
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["java", "-jar", "/usr/src/xxl-job-admin-2.0.2.jar"]
+9
View File
@@ -0,0 +1,9 @@
#!/bin/bash
set -e
wait-for-it -t 0 db:3306
if [[ $(mysql -hdb -uroot -proot -e "SHOW DATABASES LIKE 'xxl_job';") == "" ]]; then
mysql -hdb -uroot -proot < /usr/src/tables_xxl_job.sql
fi
exec "$@"
@@ -0,0 +1,23 @@
FROM maven:3.9.9-eclipse-temurin-8 AS builder
RUN set -ex \
&& cd /usr/src \
&& git clone --depth 1 -b 2.0.2 https://github.com/xuxueli/xxl-job.git . \
&& cd xxl-job-executor-samples/xxl-job-executor-sample-springboot \
&& sed -i 's|xxl\.job\.admin\.addresses=.*|xxl.job.admin.addresses=http://admin:8080/xxl-job-admin|g' src/main/resources/application.properties \
&& sed -i 's|xxl\.job\.executor\.logpath=.*|xxl.job.executor.logpath=/var/log/xxl-job|g' src/main/resources/application.properties \
&& mvn clean package -DskipTests
FROM openjdk:8
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends wait-for-it \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/xxl-job-executor-samples/xxl-job-executor-sample-springboot/target/xxl-job-executor-sample-springboot-2.0.2.jar /usr/src/xxl-job-executor-sample-springboot-2.0.2.jar
COPY docker-entrypoint.sh /docker-entrypoint.sh
WORKDIR /usr/src
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["java", "-jar", "/usr/src/xxl-job-executor-sample-springboot-2.0.2.jar"]
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
set -ex
wait-for-it -t 0 admin:8080
exec "$@"
@@ -0,0 +1,24 @@
FROM maven:3.9.9-eclipse-temurin-8 AS builder
RUN set -ex \
&& cd /usr/src \
&& git clone --depth 1 -b v2.2.0 https://github.com/xuxueli/xxl-job.git . \
&& cd xxl-job-admin \
&& sed -i 's/spring\.datasource\.password=.*/spring.datasource.password=root/g' src/main/resources/application.properties \
&& sed -i 's|mysql://127\.0\.0\.1:3306|mysql://db:3306|g' src/main/resources/application.properties \
&& mvn clean package -DskipTests
FROM openjdk:8
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends wait-for-it default-mysql-client \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/xxl-job-admin/target/xxl-job-admin-2.2.0.jar /usr/src/xxl-job-admin-2.2.0.jar
COPY docker-entrypoint.sh /docker-entrypoint.sh
COPY --from=builder /usr/src/doc/db/tables_xxl_job.sql /usr/src/tables_xxl_job.sql
WORKDIR /usr/src
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["java", "-jar", "/usr/src/xxl-job-admin-2.2.0.jar"]
+9
View File
@@ -0,0 +1,9 @@
#!/bin/bash
set -e
wait-for-it -t 0 db:3306
if [[ $(mysql -hdb -uroot -proot -e "SHOW DATABASES LIKE 'xxl_job';") == "" ]]; then
mysql -hdb -uroot -proot < /usr/src/tables_xxl_job.sql
fi
exec "$@"
@@ -0,0 +1,23 @@
FROM maven:3.9.9-eclipse-temurin-8 AS builder
RUN set -ex \
&& cd /usr/src \
&& git clone --depth 1 -b v2.2.0 https://github.com/xuxueli/xxl-job.git . \
&& cd xxl-job-executor-samples/xxl-job-executor-sample-springboot \
&& sed -i 's|xxl\.job\.admin\.addresses=.*|xxl.job.admin.addresses=http://admin:8080/xxl-job-admin|g' src/main/resources/application.properties \
&& sed -i 's|xxl\.job\.executor\.logpath=.*|xxl.job.executor.logpath=/var/log/xxl-job|g' src/main/resources/application.properties \
&& mvn clean package -DskipTests
FROM openjdk:8
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends wait-for-it \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/xxl-job-executor-samples/xxl-job-executor-sample-springboot/target/xxl-job-executor-sample-springboot-2.2.0.jar /usr/src/xxl-job-executor-sample-springboot-2.2.0.jar
COPY docker-entrypoint.sh /docker-entrypoint.sh
WORKDIR /usr/src
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["java", "-jar", "/usr/src/xxl-job-executor-sample-springboot-2.2.0.jar"]
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
set -ex
wait-for-it -t 0 admin:8080
exec "$@"
@@ -0,0 +1,25 @@
FROM maven:3.9.9-eclipse-temurin-8 AS builder
WORKDIR /usr/src
RUN set -ex \
&& git clone --depth 1 -b 2.3.0 https://github.com/xuxueli/xxl-job.git . \
&& cd xxl-job-admin \
&& sed -i 's/spring\.datasource\.password=.*/spring.datasource.password=root/g' src/main/resources/application.properties \
&& sed -i 's|mysql://127\.0\.0\.1:3306|mysql://db:3306|g' src/main/resources/application.properties \
&& mvn clean package -DskipTests
FROM openjdk:8
RUN set -ex \
&& apt update \
&& apt install -y --no-install-recommends wait-for-it default-mysql-client \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/xxl-job-admin/target/xxl-job-admin-2.3.0.jar /usr/src/xxl-job-admin-2.3.0.jar
COPY docker-entrypoint.sh /docker-entrypoint.sh
COPY --from=builder /usr/src/doc/db/tables_xxl_job.sql /usr/src/tables_xxl_job.sql
WORKDIR /usr/src
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["java", "-jar", "/usr/src/xxl-job-admin-2.3.0.jar"]
+9
View File
@@ -0,0 +1,9 @@
#!/bin/bash
set -e
wait-for-it -t 0 db:3306
if [[ $(mysql -hdb -uroot -proot -e "SHOW DATABASES LIKE 'xxl_job';") == "" ]]; then
mysql -hdb -uroot -proot < /usr/src/tables_xxl_job.sql
fi
exec "$@"
@@ -0,0 +1,25 @@
FROM maven:3.9.9-eclipse-temurin-8 AS builder
WORKDIR /usr/src
RUN set -ex \
&& git clone --depth 1 -b 2.3.0 https://github.com/xuxueli/xxl-job.git . \
&& ls \
&& cd xxl-job-executor-samples/xxl-job-executor-sample-springboot \
&& sed -i 's|xxl\.job\.admin\.addresses=.*|xxl.job.admin.addresses=http://admin:8080/xxl-job-admin|g' src/main/resources/application.properties \
&& sed -i 's|xxl\.job\.executor\.logpath=.*|xxl.job.executor.logpath=/var/log/xxl-job|g' src/main/resources/application.properties \
&& mvn clean package -DskipTests
FROM openjdk:8
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends wait-for-it \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/xxl-job-executor-samples/xxl-job-executor-sample-springboot/target/xxl-job-executor-sample-springboot-2.3.0.jar /usr/src/xxl-job-executor-sample-springboot-2.3.0.jar
COPY docker-entrypoint.sh /docker-entrypoint.sh
WORKDIR /usr/src
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["java", "-jar", "/usr/src/xxl-job-executor-sample-springboot-2.3.0.jar"]
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
set -ex
wait-for-it -t 0 admin:8080
exec "$@"
@@ -0,0 +1,25 @@
FROM maven:3.9.9-eclipse-temurin-17 AS builder
WORKDIR /usr/src
RUN set -ex \
&& git clone --depth 1 -b 2.5.0 https://github.com/xuxueli/xxl-job.git . \
&& cd xxl-job-admin \
&& sed -i 's/spring\.datasource\.password=.*/spring.datasource.password=root/g' src/main/resources/application.properties \
&& sed -i 's|mysql://127\.0\.0\.1:3306|mysql://db:3306|g' src/main/resources/application.properties \
&& mvn clean package -DskipTests
FROM openjdk:17-jdk-bullseye
RUN set -ex \
&& apt update \
&& apt install -y --no-install-recommends wait-for-it default-mysql-client \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/xxl-job-admin/target/xxl-job-admin-2.5.0.jar /usr/src/xxl-job-admin-2.5.0.jar
COPY docker-entrypoint.sh /docker-entrypoint.sh
COPY --from=builder /usr/src/doc/db/tables_xxl_job.sql /usr/src/tables_xxl_job.sql
WORKDIR /usr/src
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["java", "-jar", "/usr/src/xxl-job-admin-2.5.0.jar"]
+9
View File
@@ -0,0 +1,9 @@
#!/bin/bash
set -e
wait-for-it -t 0 db:3306
if [[ $(mysql -hdb -uroot -proot -e "SHOW DATABASES LIKE 'xxl_job';") == "" ]]; then
mysql -hdb -uroot -proot < /usr/src/tables_xxl_job.sql
fi
exec "$@"
@@ -0,0 +1,25 @@
FROM maven:3.9.9-eclipse-temurin-17 AS builder
WORKDIR /usr/src
RUN set -ex \
&& git clone --depth 1 -b 2.5.0 https://github.com/xuxueli/xxl-job.git . \
&& ls \
&& cd xxl-job-executor-samples/xxl-job-executor-sample-springboot \
&& sed -i 's|xxl\.job\.admin\.addresses=.*|xxl.job.admin.addresses=http://admin:8080/xxl-job-admin|g' src/main/resources/application.properties \
&& sed -i 's|xxl\.job\.executor\.logpath=.*|xxl.job.executor.logpath=/var/log/xxl-job|g' src/main/resources/application.properties \
&& mvn clean package -DskipTests
FROM openjdk:17-jdk-bullseye
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends wait-for-it \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/xxl-job-executor-samples/xxl-job-executor-sample-springboot/target/xxl-job-executor-sample-springboot-2.5.0.jar /usr/src/xxl-job-executor-sample-springboot-2.5.0.jar
COPY docker-entrypoint.sh /docker-entrypoint.sh
WORKDIR /usr/src
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["java", "-jar", "/usr/src/xxl-job-executor-sample-springboot-2.5.0.jar"]
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
set -ex
wait-for-it -t 0 admin:8080
exec "$@"