This is an automated email from the ASF dual-hosted git repository.

terrymanu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere-elasticjob.git


The following commit(s) were added to refs/heads/master by this push:
     new 857569814 Supports building ElasticJob GraalVM Native Images via 
GraalVM CE `25.0.2` (#2520)
857569814 is described below

commit 857569814c9e9c281aa7062636e1688fe3bcb395
Author: Hengqian Ling <[email protected]>
AuthorDate: Mon Jul 6 10:02:01 2026 +0800

    Supports building ElasticJob GraalVM Native Images via GraalVM CE `25.0.2` 
(#2520)
---
 .github/workflows/graalvm.yml                      |    8 +-
 .mvn/wrapper/maven-wrapper.properties              |    2 +-
 RELEASE-NOTES.md                                   |    1 +
 .../configuration/graalvm-native-image.cn.md       |   30 +-
 .../configuration/graalvm-native-image.en.md       |   30 +-
 .../kernel/internal/sharding/ExecutionService.java |    8 +-
 pom.xml                                            |    5 +-
 .../reachability-metadata.json                     |   40 +
 .../reflect-config.json                            |   18 -
 .../resource-config.json                           |   11 -
 .../jni-config.json                                |    2 -
 .../predefined-classes-config.json                 |    7 -
 .../proxy-config.json                              |    6 -
 .../reachability-metadata.json                     | 1924 ++++++++++++++++++++
 .../reflect-config.json                            |  463 -----
 .../resource-config.json                           |   53 -
 .../serialization-config.json                      |    8 -
 .../zookeeper/3.9.3/reflect-config.json            |   56 -
 .../zookeeper/3.9.5/reachability-metadata.json     |   28 +
 .../org.hamcrest/hamcrest/2.2/reflect-config.json  |   12 -
 test/native/native-image-filter/extra-filter.json  |    6 +-
 test/native/pom.xml                                |    6 +-
 .../elasticjob/test/natived/TestMain.java          |   34 -
 .../test/natived/it/staticd/SpringBootDTest.java   |    7 +-
 test/native/src/test/resources/logback-test.xml    |   33 +
 25 files changed, 2085 insertions(+), 713 deletions(-)

diff --git a/.github/workflows/graalvm.yml b/.github/workflows/graalvm.yml
index 5e5b1277e..ac2097c86 100644
--- a/.github/workflows/graalvm.yml
+++ b/.github/workflows/graalvm.yml
@@ -23,20 +23,22 @@ on:
     paths:
       - '.github/workflows/graalvm.yml'
       - 'reachability-metadata/src/**'
-      - 'test/native/**'
+      - 'test/native/native-image-filter/**'
+      - 'test/native/src/**'
+  workflow_dispatch:
 
 jobs:
   build:
     if: github.repository == 'apache/shardingsphere-elasticjob'
     strategy:
       matrix:
-        java: [ '22.0.2' ]
+        java: [ '25.0.2' ]
         os: [ 'ubuntu-latest' ]
     runs-on: ${{ matrix.os }}
     steps:
       - uses: actions/checkout@v4
       - name: Set up GraalVM CE ${{ matrix.java }}
-        uses: graalvm/setup-graalvm@v1
+        uses: graalvm/setup-graalvm@6f3fa030c4b8f77c1f554a860f593a654538fa38  
# v1.5.6
         with:
           java-version: ${{ matrix.java }}
           distribution: 'graalvm-community'
diff --git a/.mvn/wrapper/maven-wrapper.properties 
b/.mvn/wrapper/maven-wrapper.properties
index c0bcafe98..216df0589 100644
--- a/.mvn/wrapper/maven-wrapper.properties
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -1,3 +1,3 @@
 wrapperVersion=3.3.4
 distributionType=only-script
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.16/apache-maven-3.9.16-bin.zip
diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index fba154164..a41c97abf 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -4,6 +4,7 @@
 
 1. Build: Support building and using ElasticJob with JDK25 - 
[#2518](https://github.com/apache/shardingsphere-elasticjob/pull/2518)
 1. Build: Bump the JDK requirement for build time from JDK 8 to JDK 17 - 
[#2509](https://github.com/apache/shardingsphere-elasticjob/issues/2509)
+1. Build: Supports building ElasticJob GraalVM Native Images via GraalVM CE 
`25.0.2` - 
[#2520](https://github.com/apache/shardingsphere-elasticjob/pull/2520)
 1. Registry Center: Support etcd as a registry center - 
[#2221](https://github.com/apache/shardingsphere-elasticjob/issues/2221)
 
 ## 3.0.5
diff --git a/docs/content/user-manual/configuration/graalvm-native-image.cn.md 
b/docs/content/user-manual/configuration/graalvm-native-image.cn.md
index b008090b5..d806e8e02 100644
--- a/docs/content/user-manual/configuration/graalvm-native-image.cn.md
+++ b/docs/content/user-manual/configuration/graalvm-native-image.cn.md
@@ -15,7 +15,7 @@ GraalVM Native Build Tools 提供了 Maven Plugin 和 Gradle Plugin 
来简化 Gr
 ElasticJob 要求在如下或更高版本的 `GraalVM CE` 完成构建 GraalVM Native Image。使用者可通过 `SDKMAN!` 
快速切换 JDK。这同理
 适用于 https://sdkman.io/jdks#graalhttps://sdkman.io/jdks#nikhttps://sdkman.io/jdks#mandrel 等 `GraalVM CE` 的下游发行版。
 
-- GraalVM CE For JDK 22.0.2,对应于 SDKMAN! 的 `22.0.2-graalce`
+- GraalVM CE For JDK 25.0.2,对应于 SDKMAN! 的 `25.0.2-graalce`
 
 用户依然可以使用 SDKMAN! 上的 `21.0.2-graalce` 等旧版本的 GraalVM CE 来构建 ElasticJob 的 GraalVM 
Native Image 产物。
 ElasticJob 不为已停止维护的 GraalVM CE 版本设置 CI。
@@ -42,7 +42,7 @@ ElasticJob 不为已停止维护的 GraalVM CE 版本设置 CI。
             <plugin>
                 <groupId>org.graalvm.buildtools</groupId>
                 <artifactId>native-maven-plugin</artifactId>
-                <version>0.10.3</version>
+                <version>1.1.3</version>
                 <extensions>true</extensions>
                 <executions>
                     <execution>
@@ -75,12 +75,12 @@ ElasticJob 不为已停止维护的 GraalVM CE 版本设置 CI。
 
 ```groovy
 plugins {
-   id 'org.graalvm.buildtools.native' version '0.10.3'
+   id 'org.graalvm.buildtools.native' version '1.1.3'
 }
 
 dependencies {
    implementation 
'org.apache.shardingsphere.elasticjob:elasticjob-bootstrap:${elasticjob.version}'
-   implementation(group: 'org.graalvm.buildtools', name: 
'graalvm-reachability-metadata', version: '0.10.3', classifier: 'repository', 
ext: 'zip')
+   implementation(group: 'org.graalvm.buildtools', name: 
'graalvm-reachability-metadata', version: '1.1.3', classifier: 'repository', 
ext: 'zip')
 }
 
 graalvmNative {
@@ -108,12 +108,12 @@ graalvmNative {
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
-            <version>3.3.4</version>
+            <version>3.5.16</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
-            <version>3.3.4</version>
+            <version>3.5.16</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
@@ -123,7 +123,7 @@ graalvmNative {
             <plugin>
                 <groupId>org.graalvm.buildtools</groupId>
                 <artifactId>native-maven-plugin</artifactId>
-                <version>0.10.3</version>
+                <version>1.1.3</version>
                 <extensions>true</extensions>
                 <executions>
                     <execution>
@@ -145,7 +145,7 @@ graalvmNative {
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
-                <version>3.3.4</version>
+                <version>3.5.16</version>
                 <executions>
                     <execution>
                         <id>process-test-aot</id>
@@ -169,9 +169,9 @@ graalvmNative {
 
 ```groovy
 plugins {
-    id 'org.springframework.boot' version '3.3.4'
-    id 'io.spring.dependency-management' version '1.1.6'
-    id 'org.graalvm.buildtools.native' version '0.10.3'
+    id 'org.springframework.boot' version '3.5.16'
+    id 'io.spring.dependency-management' version '1.1.7'
+    id 'org.graalvm.buildtools.native' version '1.1.3'
 }
 
 dependencies {
@@ -179,7 +179,7 @@ dependencies {
     testImplementation 'org.springframework.boot:spring-boot-starter-test'
     testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
     implementation 
'org.apache.shardingsphere.elasticjob:elasticjob-spring-boot-starter:${elasticjob.version}'
-    implementation(group: 'org.graalvm.buildtools', name: 
'graalvm-reachability-metadata', version: '0.10.3', classifier: 'repository', 
ext: 'zip')
+    implementation(group: 'org.graalvm.buildtools', name: 
'graalvm-reachability-metadata', version: '1.1.3', classifier: 'repository', 
ext: 'zip')
 }
 
 graalvmNative {
@@ -247,8 +247,8 @@ ElasticJob 定义了 `nativeTestInElasticJob` 的 Maven Profile 用于为 
`elast
 sudo apt install unzip zip curl sed -y
 curl -s "https://get.sdkman.io"; | bash
 source "$HOME/.sdkman/bin/sdkman-init.sh"
-sdk install java 22.0.2-graalce
-sdk use java 22.0.2-graalce
+sdk install java 25.0.2-graalce
+sdk use java 25.0.2-graalce
 sudo apt-get install build-essential zlib1g-dev -y
 
 git clone [email protected]:apache/shardingsphere-elasticjob.git
@@ -282,5 +282,5 @@ ElasticJob 定义了 `generateMetadata` 的 Maven Profile 用于在 
GraalVM JIT
 ```bash
 git clone [email protected]:apache/shardingsphere.git
 cd ./shardingsphere/
-./mvnw -PgenerateMetadata -DskipNativeTests -e -T1C clean test 
native:metadata-copy
+./mvnw -PgenerateMetadata -e -T1C clean test native:metadata-copy
 ```
diff --git a/docs/content/user-manual/configuration/graalvm-native-image.en.md 
b/docs/content/user-manual/configuration/graalvm-native-image.en.md
index a6bc4e828..862f4b83d 100644
--- a/docs/content/user-manual/configuration/graalvm-native-image.en.md
+++ b/docs/content/user-manual/configuration/graalvm-native-image.en.md
@@ -16,7 +16,7 @@ GraalVM Native Build Tools provides Maven Plugin and Gradle 
Plugin to simplify t
 ElasticJob requires the following or higher versions of `GraalVM CE` to build 
the GraalVM Native Image. Users can quickly switch JDKs through `SDKMAN!`. 
 This also applies to downstream distributions of `GraalVM CE` such as 
https://sdkman.io/jdks#graal, https://sdkman.io/jdks#nik and 
https://sdkman.io/jdks#mandrel.
 
-- GraalVM CE For JDK 22.0.2, corresponding to `22.0.2-graalce` of SDKMAN!
+- GraalVM CE For JDK 25.0.2, corresponding to `25.0.2-graalce` of SDKMAN!
 
 Users can still use old versions of GraalVM CE such as `21.0.2-graalce` on 
SDKMAN! to build ElasticJob's GraalVM Native Image product.
 ElasticJob does not set CI for GraalVM CE versions that have stopped 
maintenance.
@@ -44,7 +44,7 @@ refer to the documentation of GraalVM Native Build Tools.
             <plugin>
                 <groupId>org.graalvm.buildtools</groupId>
                 <artifactId>native-maven-plugin</artifactId>
-                <version>0.10.3</version>
+                <version>1.1.3</version>
                 <extensions>true</extensions>
                 <executions>
                     <execution>
@@ -77,12 +77,12 @@ Refer to 
https://github.com/graalvm/native-build-tools/issues/572.
 
 ```groovy
 plugins {
-   id 'org.graalvm.buildtools.native' version '0.10.3'
+   id 'org.graalvm.buildtools.native' version '1.1.3'
 }
 
 dependencies {
    implementation 
'org.apache.shardingsphere.elasticjob:elasticjob-bootstrap:${elasticjob.version}'
-   implementation(group: 'org.graalvm.buildtools', name: 
'graalvm-reachability-metadata', version: '0.10.3', classifier: 'repository', 
ext: 'zip')
+   implementation(group: 'org.graalvm.buildtools', name: 
'graalvm-reachability-metadata', version: '1.1.3', classifier: 'repository', 
ext: 'zip')
 }
 
 graalvmNative {
@@ -111,12 +111,12 @@ To configure additional Maven Profiles for the project, 
refer to the documentati
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
-            <version>3.3.4</version>
+            <version>3.5.16</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
-            <version>3.3.4</version>
+            <version>3.5.16</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
@@ -126,7 +126,7 @@ To configure additional Maven Profiles for the project, 
refer to the documentati
             <plugin>
                 <groupId>org.graalvm.buildtools</groupId>
                 <artifactId>native-maven-plugin</artifactId>
-                <version>0.10.3</version>
+                <version>1.1.3</version>
                 <extensions>true</extensions>
                 <executions>
                     <execution>
@@ -148,7 +148,7 @@ To configure additional Maven Profiles for the project, 
refer to the documentati
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
-                <version>3.3.4</version>
+                <version>3.5.16</version>
                 <executions>
                     <execution>
                         <id>process-test-aot</id>
@@ -172,9 +172,9 @@ Refer to 
https://github.com/graalvm/native-build-tools/issues/572 .
 
 ```groovy
 plugins {
-    id 'org.springframework.boot' version '3.3.4'
-    id 'io.spring.dependency-management' version '1.1.6'
-    id 'org.graalvm.buildtools.native' version '0.10.3'
+    id 'org.springframework.boot' version '3.5.16'
+    id 'io.spring.dependency-management' version '1.1.7'
+    id 'org.graalvm.buildtools.native' version '1.1.3'
 }
 
 dependencies {
@@ -182,7 +182,7 @@ dependencies {
     testImplementation 'org.springframework.boot:spring-boot-starter-test'
     testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
     implementation 
'org.apache.shardingsphere.elasticjob:elasticjob-spring-boot-starter:${elasticjob.version}'
-    implementation(group: 'org.graalvm.buildtools', name: 
'graalvm-reachability-metadata', version: '0.10.3', classifier: 'repository', 
ext: 'zip')
+    implementation(group: 'org.graalvm.buildtools', name: 
'graalvm-reachability-metadata', version: '1.1.3', classifier: 'repository', 
ext: 'zip')
 }
 
 graalvmNative {
@@ -251,8 +251,8 @@ Contributors must install Docker Engine to execute the 
`testcontainers-java` rel
 sudo apt install unzip zip curl sed -y
 curl -s "https://get.sdkman.io"; | bash
 source "$HOME/.sdkman/bin/sdkman-init.sh"
-sdk install java 22.0.2-graalce
-sdk use java 22.0.2-graalce
+sdk install java 25.0.2-graalce
+sdk use java 25.0.2-graalce
 sudo apt-get install build-essential zlib1g-dev -y
 
 git clone [email protected]:apache/shardingsphere-elasticjob.git
@@ -287,5 +287,5 @@ contributors should place it in the classpath of the 
shardingsphere-test-native
 ```bash
 git clone [email protected]:apache/shardingsphere.git
 cd ./shardingsphere/
-./mvnw -PgenerateMetadata -DskipNativeTests -e -T1C clean test 
native:metadata-copy
+./mvnw -PgenerateMetadata -e -T1C clean test native:metadata-copy
 ```
diff --git 
a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ExecutionService.java
 
b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ExecutionService.java
index 6ca71984e..48599d1d9 100644
--- 
a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ExecutionService.java
+++ 
b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ExecutionService.java
@@ -20,6 +20,7 @@ package 
org.apache.shardingsphere.elasticjob.kernel.internal.sharding;
 import com.google.common.base.Strings;
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
 import 
org.apache.shardingsphere.elasticjob.spi.listener.param.ShardingContexts;
+import 
org.apache.shardingsphere.elasticjob.kernel.infra.exception.JobConfigurationException;
 import 
org.apache.shardingsphere.elasticjob.kernel.internal.config.ConfigurationService;
 import 
org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobRegistry;
 import 
org.apache.shardingsphere.elasticjob.kernel.internal.storage.JobNodeStorage;
@@ -134,7 +135,12 @@ public final class ExecutionService {
     }
     
     private List<Integer> getAllItems() {
-        int shardingTotalCount = 
configService.load(true).getShardingTotalCount();
+        int shardingTotalCount;
+        try {
+            shardingTotalCount = 
configService.load(true).getShardingTotalCount();
+        } catch (final JobConfigurationException ex) {
+            return new ArrayList<>();
+        }
         List<Integer> result = new ArrayList<>(shardingTotalCount);
         for (int i = 0; i < shardingTotalCount; i++) {
             result.add(i);
diff --git a/pom.xml b/pom.xml
index 8c95ea1e6..618e55c92 100644
--- a/pom.xml
+++ b/pom.xml
@@ -135,7 +135,7 @@
         <maven-plugin-plugin.version>3.4</maven-plugin-plugin.version>
         <checksum-maven-plugin.version>1.10</checksum-maven-plugin.version>
         
-        <native-maven-plugin.version>0.10.3</native-maven-plugin.version>
+        <native-maven-plugin.version>1.1.3</native-maven-plugin.version>
     </properties>
     
     <dependencyManagement>
@@ -957,9 +957,10 @@
                             <version>${native-maven-plugin.version}</version>
                             <extensions>true</extensions>
                             <configuration>
+                                <skipNativeTests>true</skipNativeTests>
                                 <agent>
                                     <enabled>true</enabled>
-                                    <defaultMode>Conditional</defaultMode>
+                                    <defaultMode>conditional</defaultMode>
                                     <modes>
                                         <conditional>
                                             
<userCodeFilterPath>${user.dir}/test/native/native-image-filter/user-code-filter.json</userCodeFilterPath>
diff --git 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/elasticjob-reachability-metadata/reachability-metadata.json
 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/elasticjob-reachability-metadata/reachability-metadata.json
new file mode 100644
index 000000000..aa6af1398
--- /dev/null
+++ 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/elasticjob-reachability-metadata/reachability-metadata.json
@@ -0,0 +1,40 @@
+{
+  "reflection": [
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration",
+      "allPublicMethods": true
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.infra.yaml.representer.ElasticJobYamlRepresenter"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfiguration",
+      "allPublicMethods": true
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.schedule.LiteJob"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.schedule.LiteJob",
+      "allPublicConstructors": true,
+      "allPublicMethods": true
+    }
+  ],
+  "resources": [
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.ExecutorServiceReloader"
+      },
+      "glob": "META-INF/services/org.apache.shardingsphere.elasticjob.*"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.sql.SQLPropertiesFactory"
+      },
+      "glob": "META-INF/sql/*.properties"
+    }
+  ]
+}
diff --git 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/elasticjob-reachability-metadata/reflect-config.json
 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/elasticjob-reachability-metadata/reflect-config.json
deleted file mode 100644
index d1fac98e7..000000000
--- 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/elasticjob-reachability-metadata/reflect-config.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration",
-  "allPublicMethods":true
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.schedule.LiteJob"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.schedule.LiteJob",
-  "allDeclaredMethods": true,
-  "allDeclaredConstructors": true
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.infra.yaml.representer.ElasticJobYamlRepresenter"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfiguration",
-  "allPublicMethods":true
-}
-]
diff --git 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/elasticjob-reachability-metadata/resource-config.json
 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/elasticjob-reachability-metadata/resource-config.json
deleted file mode 100644
index 8003abbbb..000000000
--- 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/elasticjob-reachability-metadata/resource-config.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "resources":{
-  "includes":[{
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.ExecutorServiceReloader"},
-    
"pattern":".*META-INF/services/org\\.apache\\.shardingsphere\\.elasticjob\\..+"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.sql.SQLPropertiesFactory"},
-    "pattern":".*META-INF/sql/.+\\.properties$"
-  }]},
-  "bundles":[]
-}
diff --git 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/jni-config.json
 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/jni-config.json
deleted file mode 100644
index 32960f8ce..000000000
--- 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/jni-config.json
+++ /dev/null
@@ -1,2 +0,0 @@
-[
-]
\ No newline at end of file
diff --git 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/predefined-classes-config.json
 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/predefined-classes-config.json
deleted file mode 100644
index 847895071..000000000
--- 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/predefined-classes-config.json
+++ /dev/null
@@ -1,7 +0,0 @@
-[
-  {
-    "type":"agent-extracted",
-    "classes":[
-    ]
-  }
-]
diff --git 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/proxy-config.json
 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/proxy-config.json
deleted file mode 100644
index 25cf82054..000000000
--- 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/proxy-config.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
-  {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.tracing.ElasticJobTracingConfiguration$RDBTracingConfiguration"},
-    "interfaces":["java.sql.Connection"]
-  }
-]
\ No newline at end of file
diff --git 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/reachability-metadata.json
 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/reachability-metadata.json
new file mode 100644
index 000000000..973b7bfe3
--- /dev/null
+++ 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/reachability-metadata.json
@@ -0,0 +1,1924 @@
+{
+  "reflection": [
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.ElasticJobExecutor"
+      },
+      "type": "java.util.Properties",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.facade.AbstractJobFacade"
+      },
+      "type": "java.util.Properties",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.facade.ShardingJobFacade"
+      },
+      "type": "java.util.Properties",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.ConfigurationService"
+      },
+      "type": "java.util.Properties",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.failover.FailoverListenerManager"
+      },
+      "type": "java.util.Properties",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.reconcile.ReconcileService"
+      },
+      "type": "java.util.Properties",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ExecutionContextService"
+      },
+      "type": "java.util.Properties",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ExecutionService"
+      },
+      "type": "java.util.Properties",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingListenerManager$ListenServersChangedJobListener"
+      },
+      "type": "java.util.Properties",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingListenerManager$ShardingTotalCountChangedJobListener"
+      },
+      "type": "java.util.Properties",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingService"
+      },
+      "type": "java.util.Properties",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.item.JobItemExecutorFactory"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.dataflow.executor.DataflowJobExecutor"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerReloader"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.error.handler.normal.IgnoreJobErrorHandler",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerReloader"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.error.handler.normal.LogJobErrorHandler",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerReloader"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.error.handler.normal.ThrowJobErrorHandler",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.http.executor.HttpJobExecutor"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.ExecutorServiceReloader"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.type.CPUUsageJobExecutorThreadPoolSizeProvider"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.ExecutorServiceReloader"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.type.SingleThreadJobExecutorThreadPoolSizeProvider"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.bootstrap.type.ScheduleJobBootstrap"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.ElasticJobExecutor"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Properties"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.facade.AbstractJobFacade"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Properties"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.facade.ShardingJobFacade"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Properties"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.ConfigurationService"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "getCron",
+          "parameterTypes": []
+        },
+        {
+          "name": "getDescription",
+          "parameterTypes": []
+        },
+        {
+          "name": "getJobErrorHandlerType",
+          "parameterTypes": []
+        },
+        {
+          "name": "getJobExecutorThreadPoolSizeProviderType",
+          "parameterTypes": []
+        },
+        {
+          "name": "getJobExtraConfigurations",
+          "parameterTypes": []
+        },
+        {
+          "name": "getJobListenerTypes",
+          "parameterTypes": []
+        },
+        {
+          "name": "getJobName",
+          "parameterTypes": []
+        },
+        {
+          "name": "getJobParameter",
+          "parameterTypes": []
+        },
+        {
+          "name": "getJobShardingStrategyType",
+          "parameterTypes": []
+        },
+        {
+          "name": "getLabel",
+          "parameterTypes": []
+        },
+        {
+          "name": "getMaxTimeDiffSeconds",
+          "parameterTypes": []
+        },
+        {
+          "name": "getProps",
+          "parameterTypes": []
+        },
+        {
+          "name": "getReconcileIntervalMinutes",
+          "parameterTypes": []
+        },
+        {
+          "name": "getShardingItemParameters",
+          "parameterTypes": []
+        },
+        {
+          "name": "getShardingTotalCount",
+          "parameterTypes": []
+        },
+        {
+          "name": "getTimeZone",
+          "parameterTypes": []
+        },
+        {
+          "name": "isDisabled",
+          "parameterTypes": []
+        },
+        {
+          "name": "isFailover",
+          "parameterTypes": []
+        },
+        {
+          "name": "isMisfire",
+          "parameterTypes": []
+        },
+        {
+          "name": "isMonitorExecution",
+          "parameterTypes": []
+        },
+        {
+          "name": "isOverwrite",
+          "parameterTypes": []
+        },
+        {
+          "name": "isStaticSharding",
+          "parameterTypes": []
+        },
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setDescription",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setDisabled",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setFailover",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setJobExtraConfigurations",
+          "parameterTypes": [
+            "java.util.Collection"
+          ]
+        },
+        {
+          "name": "setJobName",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setJobParameter",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setMaxTimeDiffSeconds",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setMisfire",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setMonitorExecution",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setOverwrite",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Properties"
+          ]
+        },
+        {
+          "name": "setReconcileIntervalMinutes",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setShardingItemParameters",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setShardingTotalCount",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setStaticSharding",
+          "parameterTypes": [
+            "boolean"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.failover.FailoverListenerManager"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Properties"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.failover.FailoverListenerManager$FailoverSettingsChangedJobListener"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setDescription",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setDisabled",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setFailover",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setJobExtraConfigurations",
+          "parameterTypes": [
+            "java.util.Collection"
+          ]
+        },
+        {
+          "name": "setJobName",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setJobParameter",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setJobShardingStrategyType",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setMaxTimeDiffSeconds",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setMisfire",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setMonitorExecution",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setOverwrite",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setReconcileIntervalMinutes",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setShardingItemParameters",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setShardingTotalCount",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setStaticSharding",
+          "parameterTypes": [
+            "boolean"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.failover.FailoverListenerManager$JobCrashedJobListener"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "setJobShardingStrategyType",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.reconcile.ReconcileService"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setJobShardingStrategyType",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Properties"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ExecutionContextService"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Properties"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ExecutionService"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Properties"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.MonitorExecutionListenerManager$MonitorExecutionSettingsChangedJobListener"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setDescription",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setDisabled",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setFailover",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setJobExtraConfigurations",
+          "parameterTypes": [
+            "java.util.Collection"
+          ]
+        },
+        {
+          "name": "setJobName",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setJobParameter",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setJobShardingStrategyType",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setMaxTimeDiffSeconds",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setMisfire",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setMonitorExecution",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setOverwrite",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setReconcileIntervalMinutes",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setShardingItemParameters",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setShardingTotalCount",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setStaticSharding",
+          "parameterTypes": [
+            "boolean"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingListenerManager$ListenServersChangedJobListener"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setJobShardingStrategyType",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Properties"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingListenerManager$ShardingTotalCountChangedJobListener"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setDescription",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setDisabled",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setFailover",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setJobExtraConfigurations",
+          "parameterTypes": [
+            "java.util.Collection"
+          ]
+        },
+        {
+          "name": "setJobName",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setJobParameter",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setJobShardingStrategyType",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setMaxTimeDiffSeconds",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setMisfire",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setMonitorExecution",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setOverwrite",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Properties"
+          ]
+        },
+        {
+          "name": "setReconcileIntervalMinutes",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setShardingItemParameters",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setShardingTotalCount",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setStaticSharding",
+          "parameterTypes": [
+            "boolean"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingService"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Properties"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.lifecycle.internal.settings.JobConfigurationAPIImpl"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "getCron",
+          "parameterTypes": []
+        },
+        {
+          "name": "getDescription",
+          "parameterTypes": []
+        },
+        {
+          "name": "getJobErrorHandlerType",
+          "parameterTypes": []
+        },
+        {
+          "name": "getJobExecutorThreadPoolSizeProviderType",
+          "parameterTypes": []
+        },
+        {
+          "name": "getJobExtraConfigurations",
+          "parameterTypes": []
+        },
+        {
+          "name": "getJobListenerTypes",
+          "parameterTypes": []
+        },
+        {
+          "name": "getJobName",
+          "parameterTypes": []
+        },
+        {
+          "name": "getJobParameter",
+          "parameterTypes": []
+        },
+        {
+          "name": "getJobShardingStrategyType",
+          "parameterTypes": []
+        },
+        {
+          "name": "getLabel",
+          "parameterTypes": []
+        },
+        {
+          "name": "getMaxTimeDiffSeconds",
+          "parameterTypes": []
+        },
+        {
+          "name": "getProps",
+          "parameterTypes": []
+        },
+        {
+          "name": "getReconcileIntervalMinutes",
+          "parameterTypes": []
+        },
+        {
+          "name": "getShardingItemParameters",
+          "parameterTypes": []
+        },
+        {
+          "name": "getShardingTotalCount",
+          "parameterTypes": []
+        },
+        {
+          "name": "getTimeZone",
+          "parameterTypes": []
+        },
+        {
+          "name": "isDisabled",
+          "parameterTypes": []
+        },
+        {
+          "name": "isFailover",
+          "parameterTypes": []
+        },
+        {
+          "name": "isMisfire",
+          "parameterTypes": []
+        },
+        {
+          "name": "isMonitorExecution",
+          "parameterTypes": []
+        },
+        {
+          "name": "isOverwrite",
+          "parameterTypes": []
+        },
+        {
+          "name": "isStaticSharding",
+          "parameterTypes": []
+        },
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setDescription",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setDisabled",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setFailover",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setJobExtraConfigurations",
+          "parameterTypes": [
+            "java.util.Collection"
+          ]
+        },
+        {
+          "name": "setJobName",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setJobParameter",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setMaxTimeDiffSeconds",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setMisfire",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setMonitorExecution",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setOverwrite",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setReconcileIntervalMinutes",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setShardingItemParameters",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setShardingTotalCount",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setStaticSharding",
+          "parameterTypes": [
+            "boolean"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.lifecycle.internal.statistics.JobStatisticsAPIImpl"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setCron",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setDescription",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setDisabled",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setFailover",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setJobExtraConfigurations",
+          "parameterTypes": [
+            "java.util.Collection"
+          ]
+        },
+        {
+          "name": "setJobName",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setJobParameter",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setMaxTimeDiffSeconds",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setMisfire",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setMonitorExecution",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setOverwrite",
+          "parameterTypes": [
+            "boolean"
+          ]
+        },
+        {
+          "name": "setReconcileIntervalMinutes",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setShardingItemParameters",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setShardingTotalCount",
+          "parameterTypes": [
+            "int"
+          ]
+        },
+        {
+          "name": "setStaticSharding",
+          "parameterTypes": [
+            "boolean"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobScheduler"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobShutdownHookPlugin",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setCleanShutdown",
+          "parameterTypes": [
+            "boolean"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.instance.InstanceNode"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance",
+      "methods": [
+        {
+          "name": "getJobInstanceId",
+          "parameterTypes": []
+        },
+        {
+          "name": "getLabels",
+          "parameterTypes": []
+        },
+        {
+          "name": "getServerIp",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.instance.InstanceService"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setJobInstanceId",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setServerIp",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingService"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setJobInstanceId",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setServerIp",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.lifecycle.internal.operate.JobOperateAPIImpl"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setJobInstanceId",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setServerIp",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.lifecycle.internal.statistics.JobStatisticsAPIImpl"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setJobInstanceId",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setServerIp",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.lifecycle.internal.statistics.ServerStatisticsAPIImpl"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setJobInstanceId",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setServerIp",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.lifecycle.internal.statistics.ShardingStatisticsAPIImpl"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setJobInstanceId",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setServerIp",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingService"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.strategy.type.AverageAllocationJobShardingStrategy",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingService"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.strategy.type.OdevitySortByNameJobShardingStrategy",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingService"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.strategy.type.RoundRobinByNameJobShardingStrategy",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingService"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.strategy.type.SingleShardingBalanceJobShardingStrategy",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.ConfigurationService"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setTracingStorageConfiguration",
+          "parameterTypes": [
+            
"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingStorageConfiguration"
+          ]
+        },
+        {
+          "name": "setType",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.failover.FailoverListenerManager$FailoverSettingsChangedJobListener"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setTracingStorageConfiguration",
+          "parameterTypes": [
+            
"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingStorageConfiguration"
+          ]
+        },
+        {
+          "name": "setType",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.MonitorExecutionListenerManager$MonitorExecutionSettingsChangedJobListener"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setTracingStorageConfiguration",
+          "parameterTypes": [
+            
"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingStorageConfiguration"
+          ]
+        },
+        {
+          "name": "setType",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingListenerManager$ShardingTotalCountChangedJobListener"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setTracingStorageConfiguration",
+          "parameterTypes": [
+            
"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingStorageConfiguration"
+          ]
+        },
+        {
+          "name": "setType",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.lifecycle.internal.settings.JobConfigurationAPIImpl"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setTracingStorageConfiguration",
+          "parameterTypes": [
+            
"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingStorageConfiguration"
+          ]
+        },
+        {
+          "name": "setType",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.lifecycle.internal.statistics.JobStatisticsAPIImpl"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setTracingStorageConfiguration",
+          "parameterTypes": [
+            
"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingStorageConfiguration"
+          ]
+        },
+        {
+          "name": "setType",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfigurationConverter"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.reg.exception.RegExceptionHandler"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.reg.zookeeper.exception.ZookeeperCuratorIgnoredExceptionProvider"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.script.executor.ScriptJobExecutor"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.item.JobItemExecutorFactory"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.simple.executor.SimpleJobExecutor"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.script.executor.ScriptJobExecutor"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext",
+      "fields": [
+        {
+          "name": "jobName"
+        },
+        {
+          "name": "jobParameter"
+        },
+        {
+          "name": "shardingItem"
+        },
+        {
+          "name": "shardingParameter"
+        },
+        {
+          "name": "shardingTotalCount"
+        },
+        {
+          "name": "taskId"
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.setup.JobClassNameProviderFactory"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.spring.core.setup.SpringProxyJobClassNameProvider"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.tracing.storage.TracingStorageConverterFactory"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.converter.RDBTracingStorageConfigurationConverter"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.impl.DB2TracingStorageDatabaseType"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.impl.GaussDBTracingStorageDatabaseType"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.impl.H2TracingStorageDatabaseType"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.impl.MySQLTracingStorageDatabaseType"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.impl.OracleTracingStorageDatabaseType"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.impl.PostgreSQLTracingStorageDatabaseType"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.impl.SQLServerTracingStorageDatabaseType"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.ConfigurationService"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfiguration",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setDataSourceClassName",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Map"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.failover.FailoverListenerManager$FailoverSettingsChangedJobListener"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfiguration",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setDataSourceClassName",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Map"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.MonitorExecutionListenerManager$MonitorExecutionSettingsChangedJobListener"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfiguration",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setDataSourceClassName",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Map"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingListenerManager$ShardingTotalCountChangedJobListener"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfiguration",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setDataSourceClassName",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Map"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.lifecycle.internal.settings.JobConfigurationAPIImpl"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfiguration",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setDataSourceClassName",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Map"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.lifecycle.internal.statistics.JobStatisticsAPIImpl"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfiguration",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        },
+        {
+          "name": "setDataSourceClassName",
+          "parameterTypes": [
+            "java.lang.String"
+          ]
+        },
+        {
+          "name": "setProps",
+          "parameterTypes": [
+            "java.util.Map"
+          ]
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO"
+      },
+      "type": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfigurationConverter"
+    }
+  ],
+  "resources": [
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.ExecutorServiceReloader"
+      },
+      "glob": 
"META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.JobExecutorThreadPoolSizeProvider"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.setup.JobClassNameProviderFactory"
+      },
+      "glob": 
"META-INF/services/org.apache.shardingsphere.elasticjob.kernel.internal.setup.JobClassNameProvider"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingService"
+      },
+      "glob": 
"META-INF/services/org.apache.shardingsphere.elasticjob.kernel.internal.sharding.strategy.JobShardingStrategy"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.reg.exception.RegExceptionHandler"
+      },
+      "glob": 
"META-INF/services/org.apache.shardingsphere.elasticjob.reg.exception.IgnoredExceptionProvider"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.executor.item.JobItemExecutorFactory"
+      },
+      "glob": 
"META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"
+      },
+      "glob": 
"META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.tracing.storage.TracingStorageConverterFactory"
+      },
+      "glob": 
"META-INF/services/org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfigurationConverter"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO"
+      },
+      "glob": 
"META-INF/services/org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfigurationConverter"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"
+      },
+      "glob": 
"META-INF/services/org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.TracingStorageDatabaseType"
+    },
+    {
+      "condition": {
+        "typeReached": 
"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.sql.SQLPropertiesFactory"
+      },
+      "glob": "META-INF/sql/H2.properties"
+    }
+  ]
+}
\ No newline at end of file
diff --git 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/reflect-config.json
 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/reflect-config.json
deleted file mode 100644
index 0da5ce96e..000000000
--- 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/reflect-config.json
+++ /dev/null
@@ -1,463 +0,0 @@
-[
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.converter.RDBTracingStorageConfigurationConverter"},
-  "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"},
-  "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.tracing.ElasticJobTracingConfiguration$RDBTracingConfiguration"},
-  "name":"[Ljava.sql.Statement;"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"},
-  "name":"[Ljava.sql.Statement;"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.bootstrap.type.OneOffJobBootstrap"},
-  "name":"java.util.Properties",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.executor.ElasticJobExecutor"},
-  "name":"java.util.Properties",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.failover.FailoverListenerManager"},
-  "name":"java.util.Properties",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.reconcile.ReconcileService"},
-  "name":"java.util.Properties",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingListenerManager$ListenServersChangedJobListener"},
-  "name":"java.util.Properties",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingListenerManager$ShardingTotalCountChangedJobListener"},
-  "name":"java.util.Properties",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  "name":"java.util.Properties",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.executor.item.JobItemExecutorFactory"},
-  
"name":"org.apache.shardingsphere.elasticjob.dataflow.executor.DataflowJobExecutor"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerReloader"},
-  
"name":"org.apache.shardingsphere.elasticjob.error.handler.normal.IgnoreJobErrorHandler",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerReloader"},
-  
"name":"org.apache.shardingsphere.elasticjob.error.handler.normal.LogJobErrorHandler",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerReloader"},
-  
"name":"org.apache.shardingsphere.elasticjob.error.handler.normal.ThrowJobErrorHandler",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  "name":"org.apache.shardingsphere.elasticjob.http.executor.HttpJobExecutor"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.ExecutorServiceReloader"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.type.CPUUsageJobExecutorThreadPoolSizeProvider"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.ExecutorServiceReloader"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.type.SingleThreadJobExecutorThreadPoolSizeProvider"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.bootstrap.type.OneOffJobBootstrap"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "methods":[{"name":"setProps","parameterTypes":["java.util.Properties"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.bootstrap.type.ScheduleJobBootstrap"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.executor.ElasticJobExecutor"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }, 
{"name":"setProps","parameterTypes":["java.util.Properties"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.executor.facade.JobFacade"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.config.ConfigurationService"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"getCron","parameterTypes":[] }, 
{"name":"getDescription","parameterTypes":[] }, 
{"name":"getJobErrorHandlerType","parameterTypes":[] }, 
{"name":"getJobExecutorThreadPoolSizeProviderType","parameterTypes":[] }, 
{"name":"getJobExtraConfigurations","parameterTypes":[] }, 
{"name":"getJobListenerTypes","parameterTypes":[] }, 
{"name":"getJobName","parameterTypes":[] }, 
{"name":"getJobParameter","parameterTypes":[] }, {"name":"getJob [...]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.failover.FailoverListenerManager"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }, 
{"name":"setProps","parameterTypes":["java.util.Properties"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.failover.FailoverListenerManager$FailoverSettingsChangedJobListener"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setCron","parameterTypes":["java.lang.String"] }, 
{"name":"setDescription","parameterTypes":["java.lang.String"] }, 
{"name":"setDisabled","parameterTypes":["boolean"] }, 
{"name":"setFailover","parameterTypes":["boolean"] }, 
{"name":"setJobExtraConfigurations","parameterTypes":["java.util.Collection"] 
}, {"name":"setJobName","parameterTypes":["java.lang.String"] }, 
{"name":"setJobParameter","parameterTypes":["java.lang.String"] [...]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.failover.FailoverListenerManager$JobCrashedJobListener"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  
"methods":[{"name":"setJobShardingStrategyType","parameterTypes":["java.lang.String"]
 }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.reconcile.ReconcileService"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }, 
{"name":"setJobShardingStrategyType","parameterTypes":["java.lang.String"] }, 
{"name":"setProps","parameterTypes":["java.util.Properties"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobScheduler"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ExecutionContextService"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ExecutionService"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.MonitorExecutionListenerManager$MonitorExecutionSettingsChangedJobListener"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setCron","parameterTypes":["java.lang.String"] }, 
{"name":"setDescription","parameterTypes":["java.lang.String"] }, 
{"name":"setDisabled","parameterTypes":["boolean"] }, 
{"name":"setFailover","parameterTypes":["boolean"] }, 
{"name":"setJobExtraConfigurations","parameterTypes":["java.util.Collection"] 
}, {"name":"setJobName","parameterTypes":["java.lang.String"] }, 
{"name":"setJobParameter","parameterTypes":["java.lang.String"] [...]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingListenerManager$ListenServersChangedJobListener"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }, 
{"name":"setJobShardingStrategyType","parameterTypes":["java.lang.String"] }, 
{"name":"setProps","parameterTypes":["java.util.Properties"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingListenerManager$ShardingTotalCountChangedJobListener"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setCron","parameterTypes":["java.lang.String"] }, 
{"name":"setDescription","parameterTypes":["java.lang.String"] }, 
{"name":"setDisabled","parameterTypes":["boolean"] }, 
{"name":"setFailover","parameterTypes":["boolean"] }, 
{"name":"setJobExtraConfigurations","parameterTypes":["java.util.Collection"] 
}, {"name":"setJobName","parameterTypes":["java.lang.String"] }, 
{"name":"setJobParameter","parameterTypes":["java.lang.String"] [...]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingService"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lifecycle.internal.settings.JobConfigurationAPIImpl"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"getCron","parameterTypes":[] }, 
{"name":"getDescription","parameterTypes":[] }, 
{"name":"getJobErrorHandlerType","parameterTypes":[] }, 
{"name":"getJobExecutorThreadPoolSizeProviderType","parameterTypes":[] }, 
{"name":"getJobExtraConfigurations","parameterTypes":[] }, 
{"name":"getJobListenerTypes","parameterTypes":[] }, 
{"name":"getJobName","parameterTypes":[] }, 
{"name":"getJobParameter","parameterTypes":[] }, {"name":"getJob [...]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lifecycle.internal.statistics.JobStatisticsAPIImpl"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setCron","parameterTypes":["java.lang.String"] }, 
{"name":"setDescription","parameterTypes":["java.lang.String"] }, 
{"name":"setDisabled","parameterTypes":["boolean"] }, 
{"name":"setFailover","parameterTypes":["boolean"] }, 
{"name":"setJobExtraConfigurations","parameterTypes":["java.util.Collection"] 
}, {"name":"setJobName","parameterTypes":["java.lang.String"] }, 
{"name":"setJobParameter","parameterTypes":["java.lang.String"] [...]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO",
-  "queryAllPublicMethods":true,
-  "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }, 
{"name":"setProps","parameterTypes":["java.util.Properties"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.bootstrap.type.ScheduleJobBootstrap"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJOBeanInfo"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.bootstrap.type.ScheduleJobBootstrap"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJOCustomizer"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.bootstrap.type.ScheduleJobBootstrap"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobShutdownHookPlugin"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobScheduler"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobShutdownHookPlugin",
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setCleanShutdown","parameterTypes":["boolean"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobShutdownHookPlugin",
-  "queryAllPublicMethods":true
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.bootstrap.type.ScheduleJobBootstrap"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobShutdownHookPluginBeanInfo"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.bootstrap.type.ScheduleJobBootstrap"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobShutdownHookPluginCustomizer"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.bootstrap.type.ScheduleJobBootstrap"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.instance.InstanceNode"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance",
-  "allDeclaredFields":true,
-  "methods":[{"name":"getJobInstanceId","parameterTypes":[] }, 
{"name":"getLabels","parameterTypes":[] }, 
{"name":"getServerIp","parameterTypes":[] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.instance.InstanceService"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setJobInstanceId","parameterTypes":["java.lang.String"] }, 
{"name":"setServerIp","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingService"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setJobInstanceId","parameterTypes":["java.lang.String"] }, 
{"name":"setServerIp","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lifecycle.internal.operate.JobOperateAPIImpl"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setJobInstanceId","parameterTypes":["java.lang.String"] }, 
{"name":"setServerIp","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lifecycle.internal.statistics.JobStatisticsAPIImpl"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setJobInstanceId","parameterTypes":["java.lang.String"] }, 
{"name":"setServerIp","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lifecycle.internal.statistics.ServerStatisticsAPIImpl"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setJobInstanceId","parameterTypes":["java.lang.String"] }, 
{"name":"setServerIp","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lifecycle.internal.statistics.ShardingStatisticsAPIImpl"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setJobInstanceId","parameterTypes":["java.lang.String"] }, 
{"name":"setServerIp","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstance",
-  "queryAllPublicMethods":true
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.bootstrap.type.ScheduleJobBootstrap"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstanceBeanInfo"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.bootstrap.type.ScheduleJobBootstrap"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.JobInstanceCustomizer"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingService"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.strategy.type.AverageAllocationJobShardingStrategy",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingService"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.strategy.type.OdevitySortByNameJobShardingStrategy",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingService"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.strategy.type.RoundRobinByNameJobShardingStrategy",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.config.ConfigurationService"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setTracingStorageConfiguration","parameterTypes":["org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingStorageConfiguration"]
 }, {"name":"setType","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.failover.FailoverListenerManager$FailoverSettingsChangedJobListener"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setTracingStorageConfiguration","parameterTypes":["org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingStorageConfiguration"]
 }, {"name":"setType","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.MonitorExecutionListenerManager$MonitorExecutionSettingsChangedJobListener"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setTracingStorageConfiguration","parameterTypes":["org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingStorageConfiguration"]
 }, {"name":"setType","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingListenerManager$ShardingTotalCountChangedJobListener"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setTracingStorageConfiguration","parameterTypes":["org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingStorageConfiguration"]
 }, {"name":"setType","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lifecycle.internal.settings.JobConfigurationAPIImpl"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setTracingStorageConfiguration","parameterTypes":["org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingStorageConfiguration"]
 }, {"name":"setType","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lifecycle.internal.statistics.JobStatisticsAPIImpl"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setTracingStorageConfiguration","parameterTypes":["org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingStorageConfiguration"]
 }, {"name":"setType","parameterTypes":["java.lang.String"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfiguration",
-  "queryAllPublicMethods":true
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfigurationBeanInfo"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfigurationConverter"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingConfigurationCustomizer"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  
"name":"org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingStorageConfiguration",
-  "queryAllPublicMethods":true
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.reg.exception.RegExceptionHandler"},
-  
"name":"org.apache.shardingsphere.elasticjob.reg.zookeeper.exception.ZookeeperCuratorIgnoredExceptionProvider"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  
"name":"org.apache.shardingsphere.elasticjob.script.executor.ScriptJobExecutor"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.executor.item.JobItemExecutorFactory"},
-  
"name":"org.apache.shardingsphere.elasticjob.simple.executor.SimpleJobExecutor"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  
"name":"org.apache.shardingsphere.elasticjob.spi.tracing.listener.TracingListener",
-  "queryAllDeclaredMethods":true
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  "name":"org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfiguration",
-  "queryAllPublicMethods":true
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.setup.JobClassNameProviderFactory"},
-  
"name":"org.apache.shardingsphere.elasticjob.spring.core.setup.SpringProxyJobClassNameProvider"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.listener.RDBTracingListener",
-  "queryAllDeclaredMethods":true
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.listener.RDBTracingListenerFactory"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.tracing.storage.TracingStorageConverterFactory"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.converter.RDBTracingStorageConfigurationConverter"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.impl.DB2TracingStorageDatabaseType"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.impl.H2TracingStorageDatabaseType"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.impl.MySQLTracingStorageDatabaseType"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.impl.OracleTracingStorageDatabaseType"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.impl.PostgreSQLTracingStorageDatabaseType"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.impl.SQLServerTracingStorageDatabaseType"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.config.ConfigurationService"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfiguration",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setDataSourceClassName","parameterTypes":["java.lang.String"] }, 
{"name":"setProps","parameterTypes":["java.util.Map"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.failover.FailoverListenerManager$FailoverSettingsChangedJobListener"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfiguration",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setDataSourceClassName","parameterTypes":["java.lang.String"] }, 
{"name":"setProps","parameterTypes":["java.util.Map"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.MonitorExecutionListenerManager$MonitorExecutionSettingsChangedJobListener"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfiguration",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setDataSourceClassName","parameterTypes":["java.lang.String"] }, 
{"name":"setProps","parameterTypes":["java.util.Map"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingListenerManager$ShardingTotalCountChangedJobListener"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfiguration",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setDataSourceClassName","parameterTypes":["java.lang.String"] }, 
{"name":"setProps","parameterTypes":["java.util.Map"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lifecycle.internal.settings.JobConfigurationAPIImpl"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfiguration",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setDataSourceClassName","parameterTypes":["java.lang.String"] }, 
{"name":"setProps","parameterTypes":["java.util.Map"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lifecycle.internal.statistics.JobStatisticsAPIImpl"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfiguration",
-  "allDeclaredFields":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setDataSourceClassName","parameterTypes":["java.lang.String"] }, 
{"name":"setProps","parameterTypes":["java.util.Map"] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfiguration",
-  "queryAllPublicMethods":true
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfigurationBeanInfo"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfigurationConverter"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-  
"name":"org.apache.shardingsphere.elasticjob.tracing.rdb.yaml.YamlDataSourceConfigurationCustomizer"
-}
-]
\ No newline at end of file
diff --git 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/resource-config.json
 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/resource-config.json
deleted file mode 100644
index c0171aa71..000000000
--- 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/resource-config.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
-  "resources":{
-  "includes":[{
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.tracing.ElasticJobTracingConfiguration$RDBTracingConfiguration"},
-    "pattern":"\\QMETA-INF/services/java.sql.Driver\\E"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.ExecutorServiceReloader"},
-    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.JobExecutorThreadPoolSizeProvider\\E"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.setup.JobClassNameProviderFactory"},
-    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.elasticjob.kernel.internal.setup.JobClassNameProvider\\E"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingService"},
-    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.elasticjob.kernel.internal.sharding.strategy.JobShardingStrategy\\E"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.reg.exception.RegExceptionHandler"},
-    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.elasticjob.reg.exception.IgnoredExceptionProvider\\E"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler\\E"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.executor.item.JobItemExecutorFactory"},
-    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor\\E"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor\\E"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.elasticjob.spi.tracing.listener.TracingListenerFactory\\E"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.tracing.storage.TracingStorageConverterFactory"},
-    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfigurationConverter\\E"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO"},
-    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfigurationConverter\\E"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.tracing.rdb.config.RDBTracingStorageConfiguration"},
-    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.elasticjob.tracing.rdb.storage.datasource.JDBCParameterDecorator\\E"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository"},
-    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.TracingStorageDatabaseType\\E"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.tracing.rdb.storage.sql.SQLPropertiesFactory"},
-    "pattern":"\\QMETA-INF/sql/H2.properties\\E"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.tracing.ElasticJobTracingConfiguration$RDBTracingConfiguration"},
-    "pattern":"\\Qorg/h2/util/data.zip\\E"
-  }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.spring.boot.job.ElasticJobBootstrapConfiguration"},
-    "pattern":"\\Qorg/quartz/core/quartz-build.properties\\E"
-  }]},
-  "bundles":[]
-}
\ No newline at end of file
diff --git 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/serialization-config.json
 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/serialization-config.json
deleted file mode 100644
index d0304f2a1..000000000
--- 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/generated-reachability-metadata/serialization-config.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "types":[
-  ],
-  "lambdaCapturingTypes":[
-  ],
-  "proxies":[
-  ]
-}
\ No newline at end of file
diff --git 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.zookeeper/zookeeper/3.9.3/reflect-config.json
 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.zookeeper/zookeeper/3.9.3/reflect-config.json
deleted file mode 100644
index a6e52201c..000000000
--- 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.zookeeper/zookeeper/3.9.3/reflect-config.json
+++ /dev/null
@@ -1,56 +0,0 @@
-[
-{
-  "condition":{"typeReachable":"org.apache.zookeeper.ZooKeeper"},
-  "name":"org.apache.zookeeper.ClientCnxnSocketNIO",
-  
"methods":[{"name":"<init>","parameterTypes":["org.apache.zookeeper.client.ZKClientConfig"]
 }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.zookeeper.metrics.impl.MetricsProviderBootstrap"},
-  "name":"org.apache.zookeeper.metrics.impl.DefaultMetricsProvider",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  
"condition":{"typeReachable":"org.apache.zookeeper.server.quorum.QuorumPeerConfig"},
-  "name":"org.apache.zookeeper.metrics.impl.DefaultMetricsProvider"
-},
-{
-  
"condition":{"typeReachable":"org.apache.zookeeper.server.ServerCnxnFactory"},
-  "name":"org.apache.zookeeper.server.ConnectionBean",
-  "queryAllPublicConstructors":true
-},
-{
-  
"condition":{"typeReachable":"org.apache.zookeeper.server.ServerCnxnFactory"},
-  "name":"org.apache.zookeeper.server.ConnectionMXBean",
-  "queryAllPublicMethods":true
-},
-{
-  "condition":{"typeReachable":"org.apache.zookeeper.server.ZooKeeperServer"},
-  "name":"org.apache.zookeeper.server.DataTreeBean",
-  "queryAllPublicConstructors":true
-},
-{
-  "condition":{"typeReachable":"org.apache.zookeeper.server.ZooKeeperServer"},
-  "name":"org.apache.zookeeper.server.DataTreeMXBean",
-  "queryAllPublicMethods":true
-},
-{
-  
"condition":{"typeReachable":"org.apache.zookeeper.server.ServerCnxnFactory"},
-  "name":"org.apache.zookeeper.server.NIOServerCnxnFactory",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
-  "condition":{"typeReachable":"org.apache.zookeeper.server.ZooKeeperServer"},
-  "name":"org.apache.zookeeper.server.ZooKeeperServerBean",
-  "queryAllPublicConstructors":true
-},
-{
-  "condition":{"typeReachable":"org.apache.zookeeper.server.ZooKeeperServer"},
-  "name":"org.apache.zookeeper.server.ZooKeeperServerMXBean",
-  "queryAllPublicMethods":true
-},
-{
-  
"condition":{"typeReachable":"org.apache.zookeeper.server.watch.WatchManagerFactory"},
-  "name":"org.apache.zookeeper.server.watch.WatchManager",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
-}
-]
diff --git 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.zookeeper/zookeeper/3.9.5/reachability-metadata.json
 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.zookeeper/zookeeper/3.9.5/reachability-metadata.json
new file mode 100644
index 000000000..c04f11a7e
--- /dev/null
+++ 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.zookeeper/zookeeper/3.9.5/reachability-metadata.json
@@ -0,0 +1,28 @@
+{
+  "reflection": [
+    {
+      "condition": {
+        "typeReached": "org.apache.zookeeper.server.quorum.QuorumPeerConfig"
+      },
+      "type": "org.apache.zookeeper.metrics.impl.DefaultMetricsProvider",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    },
+    {
+      "condition": {
+        "typeReached": "org.apache.zookeeper.server.ServerCnxnFactory"
+      },
+      "type": "org.apache.zookeeper.server.NIOServerCnxnFactory",
+      "methods": [
+        {
+          "name": "<init>",
+          "parameterTypes": []
+        }
+      ]
+    }
+  ]
+}
diff --git 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.hamcrest/hamcrest/2.2/reflect-config.json
 
b/reachability-metadata/src/main/resources/META-INF/native-image/org.hamcrest/hamcrest/2.2/reflect-config.json
deleted file mode 100644
index 0f9e3726d..000000000
--- 
a/reachability-metadata/src/main/resources/META-INF/native-image/org.hamcrest/hamcrest/2.2/reflect-config.json
+++ /dev/null
@@ -1,12 +0,0 @@
-[
-{
-  "condition":{"typeReachable":"org.hamcrest.internal.ReflectiveTypeFinder"},
-  "name":"org.hamcrest.core.StringStartsWith",
-  "queryAllDeclaredMethods":true
-},
-{
-  "condition":{"typeReachable":"org.hamcrest.internal.ReflectiveTypeFinder"},
-  "name":"org.hamcrest.core.SubstringMatcher",
-  "queryAllDeclaredMethods":true
-}
-]
diff --git a/test/native/native-image-filter/extra-filter.json 
b/test/native/native-image-filter/extra-filter.json
index dacbc3468..5e2edc82d 100644
--- a/test/native/native-image-filter/extra-filter.json
+++ b/test/native/native-image-filter/extra-filter.json
@@ -4,12 +4,14 @@
 
     {"excludeClasses": "com.**"},
     {"excludeClasses": "java.**"},
-    {"includeClasses": "java.util.Properties"},
     {"excludeClasses": "javax.**"},
+    {"excludeClasses": "kotlinx.**"},
     {"excludeClasses": "org.**"},
-    {"includeClasses": "org.apache.shardingsphere.elasticjob.**"},
     {"excludeClasses": "sun.**"},
 
+    {"includeClasses": "java.util.Properties"},
+    {"includeClasses": "org.apache.shardingsphere.elasticjob.**"},
+
     {"excludeClasses": "org.apache.shardingsphere.elasticjob.test.natived.**"}
   ],
   "regexRules": [
diff --git a/test/native/pom.xml b/test/native/pom.xml
index 85e14381c..1fdc49ee4 100644
--- a/test/native/pom.xml
+++ b/test/native/pom.xml
@@ -29,9 +29,9 @@
     <properties>
         <maven.deploy.skip>true</maven.deploy.skip>
         <!--TODO Blocked by 
https://github.com/apache/shardingsphere-elasticjob/issues/2425 -->
-        
<spring-boot-dependencies.version>3.5.5</spring-boot-dependencies.version>
-        <slf4j.version>2.0.17</slf4j.version>
-        <logback.version>1.5.18</logback.version>
+        
<spring-boot-dependencies.version>3.5.16</spring-boot-dependencies.version>
+        <slf4j.version>2.0.18</slf4j.version>
+        <logback.version>1.5.34</logback.version>
     </properties>
     
     <dependencies>
diff --git 
a/test/native/src/test/java/org/apache/shardingsphere/elasticjob/test/natived/TestMain.java
 
b/test/native/src/test/java/org/apache/shardingsphere/elasticjob/test/natived/TestMain.java
deleted file mode 100644
index efc11187c..000000000
--- 
a/test/native/src/test/java/org/apache/shardingsphere/elasticjob/test/natived/TestMain.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.elasticjob.test.natived;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-/**
- * Spring Boot Web Server for testing only.
- */
-@SpringBootApplication
-public class TestMain {
-    
-    // CHECKSTYLE:OFF
-    public static void main(final String[] args) {
-        // CHECKSTYLE:ON
-        SpringApplication.run(TestMain.class, args);
-    }
-}
diff --git 
a/test/native/src/test/java/org/apache/shardingsphere/elasticjob/test/natived/it/staticd/SpringBootDTest.java
 
b/test/native/src/test/java/org/apache/shardingsphere/elasticjob/test/natived/it/staticd/SpringBootDTest.java
index 2664332b8..53e3bb542 100644
--- 
a/test/native/src/test/java/org/apache/shardingsphere/elasticjob/test/natived/it/staticd/SpringBootDTest.java
+++ 
b/test/native/src/test/java/org/apache/shardingsphere/elasticjob/test/natived/it/staticd/SpringBootDTest.java
@@ -33,6 +33,7 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.condition.EnabledInNativeImage;
 import org.springframework.beans.factory.ObjectProvider;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.DynamicPropertyRegistry;
@@ -59,7 +60,7 @@ import static 
org.junit.jupiter.api.Assertions.assertDoesNotThrow;
  * Refer to <a 
href="https://github.com/spring-projects/spring-framework/issues/26196";>spring-projects/spring-framework#26196</a>
 .
  */
 @DirtiesContext
-@SpringBootTest(webEnvironment = 
org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT)
+@SpringBootTest(classes = SpringBootDTest.TestApp.class, webEnvironment = 
SpringBootTest.WebEnvironment.RANDOM_PORT)
 @EnabledInNativeImage
 class SpringBootDTest {
     
@@ -140,4 +141,8 @@ class SpringBootDTest {
             secondJob.shutdown();
         });
     }
+    
+    @SpringBootApplication(scanBasePackages = 
"org.apache.shardingsphere.elasticjob.test.natived")
+    static class TestApp {
+    }
 }
diff --git a/test/native/src/test/resources/logback-test.xml 
b/test/native/src/test/resources/logback-test.xml
new file mode 100644
index 000000000..d49a3aaa2
--- /dev/null
+++ b/test/native/src/test/resources/logback-test.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<configuration>
+    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
+    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] 
%logger{36} - %msg%n</pattern>
+        </encoder>
+    </appender>
+    <logger name="org.apache.shardingsphere.elasticjob" level="warn" 
additivity="false">
+        <appender-ref ref="console" />
+    </logger>
+    <root>
+        <level value="error" />
+        <appender-ref ref="console" />
+    </root>
+</configuration>

Reply via email to