Skip to content

Commit a9dd4ad

Browse files
committed
Support using DIGEST-MD5 as the SASL mechanism for ElasticJob CoordinatorRegistryCenter under GraalVM Native Image
1 parent 756de29 commit a9dd4ad

File tree

14 files changed

+1001
-6
lines changed

14 files changed

+1001
-6
lines changed

.github/workflows/graalvm.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,5 @@ jobs:
4444
github-token: ${{ secrets.GITHUB_TOKEN }}
4545
cache: 'maven'
4646
native-image-job-reports: 'true'
47-
- name: Run nativeTest with GraalVM CE for ${{ matrix.java-version }}
48-
continue-on-error: true
47+
- name: Run nativeTest with GraalVM CE for ${{ matrix.java }}
4948
run: ./mvnw -PnativeTestInElasticJob -T1C -B -e clean test

pom.xml

+9-1
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@
8989
<mockito.version>4.11.0</mockito.version>
9090
<awaitility.version>4.2.0</awaitility.version>
9191
<bytebuddy.version>1.14.18</bytebuddy.version>
92+
<testcontainers-bom.version>1.20.1</testcontainers-bom.version>
9293

9394
<h2.version>2.2.224</h2.version>
9495
<hikari-cp.version>4.0.3</hikari-cp.version>
@@ -350,6 +351,13 @@
350351
<version>${awaitility.version}</version>
351352
<scope>test</scope>
352353
</dependency>
354+
<dependency>
355+
<groupId>org.testcontainers</groupId>
356+
<artifactId>testcontainers-bom</artifactId>
357+
<version>${testcontainers-bom.version}</version>
358+
<type>pom</type>
359+
<scope>import</scope>
360+
</dependency>
353361

354362
<dependency>
355363
<groupId>com.h2database</groupId>
@@ -995,7 +1003,7 @@
9951003
<artifactId>maven-surefire-plugin</artifactId>
9961004
<configuration>
9971005
<includes>
998-
<include>org.apache.shardingsphere.elasticjob.test.natived.**</include>
1006+
<include>org.apache.shardingsphere.elasticjob.test.natived.it.staticd.ZookeeperAuthTest</include>
9991007
</includes>
10001008
</configuration>
10011009
</plugin>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[
2+
{
3+
"condition":{"typeReachable":"com.github.dockerjava.api.model.RuntimeInfo"},
4+
"name":"com.github.dockerjava.api.model.RuntimeInfo",
5+
"allPublicConstructors": true
6+
}
7+
]

reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/elasticjob-reachability-metadata/reflect-config.json

+121-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,125 @@
99
"name":"org.apache.shardingsphere.elasticjob.kernel.internal.schedule.LiteJob",
1010
"allDeclaredMethods": true,
1111
"allDeclaredConstructors": true
12-
}
12+
},
13+
{
14+
"name":"org.apache.zookeeper.server.auth.DigestLoginModule",
15+
"allDeclaredClasses": true,
16+
"allDeclaredMethods": true,
17+
"allDeclaredFields": true,
18+
"allDeclaredConstructors": true,
19+
"allPublicClasses": true,
20+
"allPublicMethods": true,
21+
"allPublicFields": true,
22+
"allPublicConstructors": true,
23+
"allRecordComponents": true,
24+
"allNestMembers": true,
25+
"allSigners": true,
26+
"allPermittedSubclasses": true,
27+
"queryAllDeclaredMethods": true,
28+
"queryAllDeclaredConstructors": true,
29+
"queryAllPublicMethods": true,
30+
"queryAllPublicConstructors": true,
31+
"unsafeAllocated": true
32+
},
33+
{
34+
"name":"org.apache.zookeeper.SaslClientCallbackHandler",
35+
"allDeclaredClasses": true,
36+
"allDeclaredMethods": true,
37+
"allDeclaredFields": true,
38+
"allDeclaredConstructors": true,
39+
"allPublicClasses": true,
40+
"allPublicMethods": true,
41+
"allPublicFields": true,
42+
"allPublicConstructors": true,
43+
"allRecordComponents": true,
44+
"allNestMembers": true,
45+
"allSigners": true,
46+
"allPermittedSubclasses": true,
47+
"queryAllDeclaredMethods": true,
48+
"queryAllDeclaredConstructors": true,
49+
"queryAllPublicMethods": true,
50+
"queryAllPublicConstructors": true,
51+
"unsafeAllocated": true
52+
},
53+
{
54+
"name":"org.apache.zookeeper.server.quorum.auth.SaslQuorumServerCallbackHandler",
55+
"allDeclaredClasses": true,
56+
"allDeclaredMethods": true,
57+
"allDeclaredFields": true,
58+
"allDeclaredConstructors": true,
59+
"allPublicClasses": true,
60+
"allPublicMethods": true,
61+
"allPublicFields": true,
62+
"allPublicConstructors": true,
63+
"allRecordComponents": true,
64+
"allNestMembers": true,
65+
"allSigners": true,
66+
"allPermittedSubclasses": true,
67+
"queryAllDeclaredMethods": true,
68+
"queryAllDeclaredConstructors": true,
69+
"queryAllPublicMethods": true,
70+
"queryAllPublicConstructors": true,
71+
"unsafeAllocated": true
72+
},
73+
{
74+
"name":"org.apache.zookeeper.server.auth.SaslServerCallbackHandler",
75+
"allDeclaredClasses": true,
76+
"allDeclaredMethods": true,
77+
"allDeclaredFields": true,
78+
"allDeclaredConstructors": true,
79+
"allPublicClasses": true,
80+
"allPublicMethods": true,
81+
"allPublicFields": true,
82+
"allPublicConstructors": true,
83+
"allRecordComponents": true,
84+
"allNestMembers": true,
85+
"allSigners": true,
86+
"allPermittedSubclasses": true,
87+
"queryAllDeclaredMethods": true,
88+
"queryAllDeclaredConstructors": true,
89+
"queryAllPublicMethods": true,
90+
"queryAllPublicConstructors": true,
91+
"unsafeAllocated": true
92+
},
93+
{
94+
"name":"org.apache.zookeeper.client.ZooKeeperSaslClient",
95+
"allDeclaredClasses": true,
96+
"allDeclaredMethods": true,
97+
"allDeclaredFields": true,
98+
"allDeclaredConstructors": true,
99+
"allPublicClasses": true,
100+
"allPublicMethods": true,
101+
"allPublicFields": true,
102+
"allPublicConstructors": true,
103+
"allRecordComponents": true,
104+
"allNestMembers": true,
105+
"allSigners": true,
106+
"allPermittedSubclasses": true,
107+
"queryAllDeclaredMethods": true,
108+
"queryAllDeclaredConstructors": true,
109+
"queryAllPublicMethods": true,
110+
"queryAllPublicConstructors": true,
111+
"unsafeAllocated": true
112+
},
113+
{
114+
"name":"org.apache.zookeeper.ClientCnxn",
115+
"allDeclaredClasses": true,
116+
"allDeclaredMethods": true,
117+
"allDeclaredFields": true,
118+
"allDeclaredConstructors": true,
119+
"allPublicClasses": true,
120+
"allPublicMethods": true,
121+
"allPublicFields": true,
122+
"allPublicConstructors": true,
123+
"allRecordComponents": true,
124+
"allNestMembers": true,
125+
"allSigners": true,
126+
"allPermittedSubclasses": true,
127+
"queryAllDeclaredMethods": true,
128+
"queryAllDeclaredConstructors": true,
129+
"queryAllPublicMethods": true,
130+
"queryAllPublicConstructors": true,
131+
"unsafeAllocated": true
132+
}
13133
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
[
2+
{
3+
"condition":{"typeReachable":"org.apache.zookeeper.jmx.MBeanRegistry"},
4+
"name":"[Lcom.sun.management.internal.DiagnosticCommandArgumentInfo;"
5+
},
6+
{
7+
"condition":{"typeReachable":"org.apache.zookeeper.jmx.MBeanRegistry"},
8+
"name":"[Lcom.sun.management.internal.DiagnosticCommandInfo;"
9+
},
10+
{
11+
"condition":{"typeReachable":"org.apache.zookeeper.jmx.MBeanRegistry"},
12+
"name":"com.sun.management.internal.DiagnosticCommandArgumentInfo",
13+
"methods":[{"name":"<init>","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String","boolean","boolean","boolean","int"] }]
14+
},
15+
{
16+
"condition":{"typeReachable":"org.apache.zookeeper.jmx.MBeanRegistry"},
17+
"name":"com.sun.management.internal.DiagnosticCommandInfo",
18+
"methods":[{"name":"<init>","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.String","boolean","java.util.List"] }]
19+
},
20+
{
21+
"condition":{"typeReachable":"org.apache.zookeeper.jmx.MBeanRegistry"},
22+
"name":"java.util.Arrays",
23+
"methods":[{"name":"asList","parameterTypes":["java.lang.Object[]"] }]
24+
}
25+
]

0 commit comments

Comments
 (0)