[type:feat] upgrade dockerfile java runtime version 8 to 17 (#5374)
* upgrade dockerfile java runtime version 8 to 17
* update jdk runtime version
* update jdk runtime version 17
* update jdk runtime version 17
* cannot find symbol Error:class Resource
* update jdk runtime version 17
* update jdk runtime version 17
* update jdk runtime version 17
* fix Unrecognized VM option 'UseFastAccessorMethods'
* Add test case for `AbstractWasmDiscoveryHandler` (#5453)
* Tests
* Updated lib.rs and added a README.md
I updated the `lib.rs` and updated the WASM file and also added a README.md
* Remove TestWasmPluginDiscoveryHandler#handlerDiscoveryUpstreamData
* Revert "Remove TestWasmPluginDiscoveryHandler#handlerDiscoveryUpstreamData"
This reverts commit c85d3dbbe9c43159236f8e073cb0a9320e6d0a01.
* Update AbstractWasmDiscoveryHandlerTest.java
---------
Co-authored-by: loongs-zhang <zhangzicheng@apache.org>
* fix AbstractWasmPluginDataHandlerTest (#5464)
* fix AbstractWasmPluginDataHandlerTest
* [ISSUE #5427] add AbstractWasmMetaDataHandlerTest
* fix spring-boot-starter-client-springmvc: fix expired comments. (#5463)
Co-authored-by: likeguo <33576070+li-keguo@users.noreply.github.com>
* [BUG] websocket offline don't remove upstream in database #5460 (#5462)
* add offline in grpc and websocket
* trigger ci
* trigger ci
---------
Co-authored-by: xiaoyu <xiaoyu@apache.org>
Co-authored-by: loongs-zhang <zhangzicheng@apache.org>
* refactor shenyu-sync-data-http : replace log %s -> {}. (#5465)
Co-authored-by: moremind <hefengen@apache.org>
* Encrypt the password (#5436)
* Encrypt the password
* Encrypt the password
* add client meta-information registration login
* Modified to AES/CTR/NoPadding mode
* Adding Exception Handling to Avoid NPE
* add doc
* Update key acquisition method
* Update key acquisition method and format
* Modified to AES/CBC/Pkcs7Padding mode
* delete blank
---------
Co-authored-by: 2252603132 <85060647+2252603132@users.noreply.github.com>
Co-authored-by: loongs-zhang <zhangzicheng@apache.org>
Co-authored-by: likeguo <33576070+li-keguo@users.noreply.github.com>
Co-authored-by: wln <w2252603132@gmail.com>
* [type: refactor] Admin distributed lock by spring-integration-jdbc (#5457)
* [type: refactor] Admin distributed lock by spring-integration-jdbc
* fix ci
* supplementary testing
* add a table for all SQL
* lock operation put it in try statement block
* fix-ci mock ReentrantLock cpu 100%
---------
Co-authored-by: moremind <hefengen@apache.org>
* [BUG] update app_key in db (#5471)
* AbstractNodeDataSyncService load discoverUpstream on startup (#5472) (#5473)
* [type:feature] enhance metrics-ratelimiter collect (#5461)
* [type:refactor] enhance metrics-ratelimiter collect
* [type:refactor] enhance metrics-ratelimiter collect
---------
Co-authored-by: xiaoyu <xiaoyu@apache.org>
Co-authored-by: loongs-zhang <zhangzicheng@apache.org>
* fixed #5477 (#5478)
* update image due wget not found
* update
* update
* update
* update
* update
* use 8 build
* use 8 build
* Revert "update"
This reverts commit d67da20d8c7fa669e9d4913742dbb7029b1da441.
* use 8 build
* update
* update
* update
* Revert "update"
This reverts commit bc1cc49cea1a7f67eca7fed73b00cd3150b68349.
* modify base image
* jdk17 support: modify base image
* jdk17 support: add null check
* jdk17 support: timestamp type adapter
* jdk17 support: gson modify
* jdk17 support: gson modify
* jdk17 support: gson modify
* jdk17 support: gson timestamp
* jdk17 support: gson timestamp
* jdk17 support: ci debug
* jdk17 support: ci debug mysql test
* jdk17 support: ci debug mysql test
* jdk17 support: ci debug mysql test
* jdk17 support: ci debug
* jdk17 support: ci debug mysql test
* jdk17 support: modify base image
* jdk17 support: ci debug
* jdk17 support: modify base image
* jdk17 support: modify jdbc env key
* jdk17 support: h2 sync
* jdk17 support: bootstrap base image
* jdk17 support: change base image
* jdk17 support: admin base image\e2e env config
* jdk17 support: base image
* jdk17 support: base image
* jdk17 support: base image
* jdk17 support: base image
* jdk17 support: ci build use jdk 17
* jdk17 support: ci build use jdk 17
* jdk17 support: ci build use jdk 17
* jdk17 support: ci build use jdk 17
* jdk17 support: ci build use jdk 17
* jdk17 support: base image
* jdk17 support: base image
* jdk17 support: base image
* jdk17 support: base image
* jdk17 support: sofa base image
* jdk17 support: sofa base image
* jdk17 support: sofa base image
* jdk17 support: dubbo base image
* jdk17 support: e2e mysql
* jdk17 support: e2e h2
* jdk17 support: e2e mysql
* jdk17 support: eureka jdk 17
* jdk17 support: dubbo jdk 17
* jdk17 support: e2e timeout
* jdk17 support: combination
* jdk17 support: combination
* jdk17 support: combination
* jdk17 support: e2e timeout
* jdk17 support: change base jdk image
* jdk17 support: motan image
* jdk17 support: debug
* jdk17 support: motan image
* jdk17 support: base image
* jdk17 support: motan example base image
* jdk17 support: motan jdk17
* jdk17 support: motan jdk17
* jdk17 support: ci debug
* jdk17 support: ci debug
* jdk17 support: change base image based on alpine
* jdk17 support: change base image based on alpine
* jdk17 support: change base image based on alpine
* jdk17 support: change base image to amazoncorretto:17.0.11-alpine3.19
---------
Co-authored-by: yunlongn <yunlongn@outlook.com>
Co-authored-by: dragon-zhang <zhangzicheng@apache.org>
Co-authored-by: Divyansh200102 <146909065+Divyansh200102@users.noreply.github.com>
Co-authored-by: caaaaaat <875411010@qq.com>
Co-authored-by: likeguo <33576070+li-keguo@users.noreply.github.com>
Co-authored-by: 杨文杰 <31105009+ywj1352@users.noreply.github.com>
Co-authored-by: xiaoyu <xiaoyu@apache.org>
Co-authored-by: frank <shaoshuai_yy@163.com>
Co-authored-by: moremind <hefengen@apache.org>
Co-authored-by: wlngo <85060647+wlngo@users.noreply.github.com>
Co-authored-by: 2252603132 <85060647+2252603132@users.noreply.github.com>
Co-authored-by: wln <w2252603132@gmail.com>
Co-authored-by: crudboy <965211455@qq.com>
Co-authored-by: dyjxg4xygary <1140408986@qq.com>
Co-authored-by: Kerwin Bryant <kerwin612@qq.com>
Co-authored-by: liuhy <rokkki@163.com>
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e4e93d6..09a0b14 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -25,7 +25,7 @@
build:
strategy:
matrix:
- java: [ 8, 11 ]
+ java: [ 8, 11, 17 ]
os: [ ubuntu-latest, windows-latest ]
include:
- java: 12
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index d517d9d..ad76d91 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -41,10 +41,10 @@
uses: actions/checkout@v3
with:
submodules: true
- - name: Set up JDK 1.8
+ - name: Set up JDK 17
uses: actions/setup-java@v3
with:
- java-version: 8
+ java-version: 17
distribution: 'temurin'
- name: Restore ShenYu Maven Repos
diff --git a/.github/workflows/docker-publish-dockerhub.yml b/.github/workflows/docker-publish-dockerhub.yml
index 434858e..3873d49 100644
--- a/.github/workflows/docker-publish-dockerhub.yml
+++ b/.github/workflows/docker-publish-dockerhub.yml
@@ -65,7 +65,7 @@
- uses: actions/setup-java@v3
with:
- java-version: 8
+ java-version: 17
distribution: 'temurin'
- name: Build with Maven
diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml
index 4029f63..ca43f32 100644
--- a/.github/workflows/docker-publish.yml
+++ b/.github/workflows/docker-publish.yml
@@ -69,7 +69,7 @@
- uses: actions/setup-java@v3
with:
- java-version: 8
+ java-version: 17
distribution: 'temurin'
- name: Build with Maven
diff --git a/.github/workflows/e2e-k8s.yml b/.github/workflows/e2e-k8s.yml
index 061b889..3f93051 100644
--- a/.github/workflows/e2e-k8s.yml
+++ b/.github/workflows/e2e-k8s.yml
@@ -59,10 +59,10 @@
rm --recursive --force "$AGENT_TOOLSDIRECTORY"
df --human-readable
- - name: Set up JDK 8 for Building ShenYu
+ - name: Set up JDK 17 for Building ShenYu
uses: actions/setup-java@v3
with:
- java-version: '8'
+ java-version: '17'
distribution: 'temurin'
- uses: dorny/paths-filter@v2
@@ -150,10 +150,10 @@
mkdir -p ~/.kube
cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
- - name: Set up JDK 8 for Building ShenYu
+ - name: Set up JDK 17 for Building ShenYu
uses: actions/setup-java@v3
with:
- java-version: '8'
+ java-version: '17'
distribution: 'temurin'
- name: Restore ShenYu Maven Repos
@@ -244,10 +244,10 @@
mkdir -p ~/.kube
cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
- - name: Set up JDK 8 for Building ShenYu
+ - name: Set up JDK 17 for Building ShenYu
uses: actions/setup-java@v3
with:
- java-version: '8'
+ java-version: '17'
distribution: 'temurin'
- name: Restore ShenYu Maven Repos
diff --git a/.github/workflows/integrated-test-k8s-ingress.yml b/.github/workflows/integrated-test-k8s-ingress.yml
index a782e46..6ce134d 100644
--- a/.github/workflows/integrated-test-k8s-ingress.yml
+++ b/.github/workflows/integrated-test-k8s-ingress.yml
@@ -66,7 +66,7 @@
- uses: actions/setup-java@v3
if: steps.filter.outputs.changed == 'true'
with:
- java-version: 8
+ java-version: 17
distribution: 'temurin'
- name: Install Go
@@ -93,7 +93,7 @@
- uses: actions/setup-java@v3
if: steps.filter.outputs.changed == 'true'
with:
- java-version: 8
+ java-version: 17
distribution: 'temurin'
- name: Build with Maven
diff --git a/.github/workflows/integrated-test.yml b/.github/workflows/integrated-test.yml
index a99cf36..5789a63 100644
--- a/.github/workflows/integrated-test.yml
+++ b/.github/workflows/integrated-test.yml
@@ -69,7 +69,7 @@
- uses: actions/setup-java@v3
if: steps.filter.outputs.changed == 'true'
with:
- java-version: 8
+ java-version: 17
distribution: 'temurin'
- name: Build with Maven
if: steps.filter.outputs.changed == 'true'
diff --git a/.github/workflows/k8s-examples-http.yml b/.github/workflows/k8s-examples-http.yml
index d408f85..1c697ab 100644
--- a/.github/workflows/k8s-examples-http.yml
+++ b/.github/workflows/k8s-examples-http.yml
@@ -64,7 +64,7 @@
uses: actions/setup-java@v3
if: steps.filter.outputs.changed == 'true'
with:
- java-version: 8
+ java-version: 17
distribution: 'temurin'
-
name: Build with Maven
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/DiscoveryUpstreamData.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/DiscoveryUpstreamData.java
index 7c6830c..8741c74 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/DiscoveryUpstreamData.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/DiscoveryUpstreamData.java
@@ -17,6 +17,8 @@
package org.apache.shenyu.common.dto;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
import java.sql.Timestamp;
import java.util.Objects;
@@ -30,11 +32,13 @@
/**
* created time.
*/
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp dateCreated;
/**
* updated time.
*/
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp dateUpdated;
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/utils/GsonUtils.java b/shenyu-common/src/main/java/org/apache/shenyu/common/utils/GsonUtils.java
index 9655084..75240b5 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/utils/GsonUtils.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/utils/GsonUtils.java
@@ -25,7 +25,10 @@
import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
import com.google.gson.JsonObject;
+import com.google.gson.JsonParseException;
import com.google.gson.JsonPrimitive;
+import com.google.gson.JsonSerializationContext;
+import com.google.gson.JsonSerializer;
import com.google.gson.TypeAdapter;
import com.google.gson.reflect.TypeToken;
import com.google.gson.stream.JsonReader;
@@ -45,8 +48,13 @@
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.net.URLDecoder;
+import java.sql.Timestamp;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.time.Duration;
import java.util.ArrayList;
+import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -60,41 +68,42 @@
* GSONUtils.
*/
public class GsonUtils {
-
+
/**
* logger.
*/
private static final Logger LOG = LoggerFactory.getLogger(GsonUtils.class);
-
+
private static final GsonUtils INSTANCE = new GsonUtils();
-
+
private static final Gson GSON = new GsonBuilder()
.registerTypeAdapter(String.class, new StringTypeAdapter())
+ .registerTypeAdapter(Timestamp.class, new TimestampTypeAdapter())
.registerTypeHierarchyAdapter(Pair.class, new PairTypeAdapter())
.registerTypeHierarchyAdapter(Duration.class, new DurationTypeAdapter())
.create();
-
+
private static final Gson GSON_MAP = new GsonBuilder().serializeNulls().registerTypeHierarchyAdapter(new TypeToken<Map<String, Object>>() {
}.getRawType(), new MapDeserializer<String, Object>()).create();
-
+
private static final String DOT = ".";
-
+
private static final String E = "e";
-
+
private static final String LEFT = "left";
-
+
private static final String RIGHT = "right";
-
+
private static final String LEFT_ANGLE_BRACKETS = "{";
-
+
private static final String RIGHT_ANGLE_BRACKETS = "}";
-
+
private static final String EMPTY = "";
-
+
private static final String EQUAL_SIGN = "=";
-
+
private static final String AND = "&";
-
+
/**
* Get gson instance.
*
@@ -103,7 +112,7 @@
public static Gson getGson() {
return GsonUtils.GSON;
}
-
+
/**
* Get instance.
*
@@ -112,7 +121,7 @@
public static GsonUtils getInstance() {
return INSTANCE;
}
-
+
/**
* To json string.
*
@@ -122,55 +131,55 @@
public String toJson(final Object object) {
return GSON.toJson(object);
}
-
+
/**
* From json t.
*
- * @param <T> the type parameter
- * @param json the json
+ * @param <T> the type parameter
+ * @param json the json
* @param tClass the t class
* @return the t
*/
public <T> T fromJson(final String json, final Class<T> tClass) {
return GSON.fromJson(json, tClass);
}
-
+
/**
* From json t.
*
- * @param <T> the type parameter
+ * @param <T> the type parameter
* @param jsonElement the json element
- * @param tClass the t class
+ * @param tClass the t class
* @return the t
*/
public <T> T fromJson(final JsonElement jsonElement, final Class<T> tClass) {
return GSON.fromJson(jsonElement, tClass);
}
-
+
/**
* From list.
*
- * @param <T> the type parameter
- * @param json the json
+ * @param <T> the type parameter
+ * @param json the json
* @param clazz the clazz
* @return the list
*/
public <T> List<T> fromList(final String json, final Class<T> clazz) {
return GSON.fromJson(json, TypeToken.getParameterized(List.class, clazz).getType());
}
-
+
/**
* From current list.
*
- * @param <T> the type parameter
- * @param json the json
+ * @param <T> the type parameter
+ * @param json the json
* @param clazz the clazz
* @return the list
*/
public <T> List<T> fromCurrentList(final String json, final Class<T> clazz) {
return GSON.fromJson(json, TypeToken.getParameterized(CopyOnWriteArrayList.class, clazz).getType());
}
-
+
/**
* to Get Param.
*
@@ -195,9 +204,9 @@
});
final String r = stringBuilder.toString();
return r.substring(0, r.lastIndexOf(AND));
-
+
}
-
+
/**
* to Map.
*
@@ -208,7 +217,7 @@
return GSON.fromJson(json, new TypeToken<Map<String, String>>() {
}.getType());
}
-
+
/**
* to List Map.
*
@@ -219,7 +228,7 @@
return GSON.fromJson(json, new TypeToken<List<Map<String, Object>>>() {
}.getType());
}
-
+
/**
* To object map.
*
@@ -230,31 +239,31 @@
return GSON_MAP.fromJson(json, new TypeToken<LinkedHashMap<String, Object>>() {
}.getType());
}
-
+
/**
* To object map.
*
- * @param <T> the class
- * @param json the json
+ * @param <T> the class
+ * @param json the json
* @param clazz the class
* @return the map
*/
public <T> Map<String, T> toObjectMap(final String json, final Class<T> clazz) {
return GSON.fromJson(json, TypeToken.getParameterized(Map.class, String.class, clazz).getType());
}
-
+
/**
* To object map list.
*
- * @param <T> the class
- * @param json the json
+ * @param <T> the class
+ * @param json the json
* @param clazz the class
* @return the map
*/
public <T> Map<String, List<T>> toObjectMapList(final String json, final Class<T> clazz) {
return GSON.fromJson(json, TypeToken.getParameterized(Map.class, String.class, TypeToken.getParameterized(List.class, clazz).getType()).getType());
}
-
+
/**
* To tree map.
*
@@ -275,11 +284,11 @@
public Map<String, Object> convertToMap(final String json) {
Map<String, Object> map = GSON_MAP.fromJson(json, new TypeToken<Map<String, Object>>() {
}.getType());
-
+
if (MapUtils.isEmpty(map)) {
return map;
}
-
+
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
@@ -298,10 +307,10 @@
map.put(key, null);
}
}
-
+
return map;
}
-
+
/**
* translate JsonArray in covertToMap of Method.
*
@@ -328,10 +337,10 @@
list.add(objStr);
}
}
-
+
return list;
}
-
+
private static class MapDeserializer<T, U> implements JsonDeserializer<Map<T, U>> {
@SuppressWarnings("unchecked")
@Override
@@ -346,7 +355,7 @@
} catch (ClassNotFoundException e) {
LOG.error("failed to get class", e);
}
-
+
Map<T, U> resultMap = null;
assert mapClass != null;
if (Objects.requireNonNull(mapClass).isInterface()) {
@@ -374,7 +383,7 @@
}
return resultMap;
}
-
+
/**
* Get JsonElement class type.
*
@@ -385,7 +394,7 @@
if (!element.isJsonPrimitive()) {
return element.getClass();
}
-
+
final JsonPrimitive primitive = element.getAsJsonPrimitive();
if (primitive.isString()) {
return String.class;
@@ -404,7 +413,7 @@
return element.getClass();
}
}
-
+
private static class StringTypeAdapter extends TypeAdapter<String> {
@Override
public void write(final JsonWriter out, final String value) {
@@ -418,7 +427,7 @@
LOG.error("failed to write", e);
}
}
-
+
@Override
public String read(final JsonReader reader) {
try {
@@ -432,9 +441,9 @@
}
}
}
-
+
private static class PairTypeAdapter extends TypeAdapter<Pair<String, String>> {
-
+
@Override
public void write(final JsonWriter out, final Pair<String, String> value) throws IOException {
out.beginObject();
@@ -442,14 +451,14 @@
out.name(RIGHT).value(value.getRight());
out.endObject();
}
-
+
@Override
public Pair<String, String> read(final JsonReader in) throws IOException {
in.beginObject();
-
+
String left = null;
String right = null;
-
+
while (in.hasNext()) {
switch (in.nextName()) {
case LEFT:
@@ -462,13 +471,13 @@
break;
}
}
-
+
in.endObject();
-
+
return Pair.of(left, right);
}
}
-
+
private static class DurationTypeAdapter extends TypeAdapter<Duration> {
@Override
public void write(final JsonWriter out, final Duration value) {
@@ -482,7 +491,7 @@
LOG.error("failed to write", e);
}
}
-
+
@Override
public Duration read(final JsonReader reader) {
try {
@@ -496,4 +505,28 @@
}
}
}
+
+ private static class TimestampTypeAdapter implements JsonSerializer<Timestamp>, JsonDeserializer<Timestamp> {
+
+ private final DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+ @Override
+ public Timestamp deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context) throws JsonParseException {
+ if (!(json instanceof JsonPrimitive)) {
+ throw new JsonParseException("The date should be a string value");
+ }
+ try {
+ Date date = format.parse(json.getAsString());
+ return new Timestamp(date.getTime());
+ } catch (ParseException e) {
+ throw new JsonParseException(e);
+ }
+ }
+
+ @Override
+ public JsonElement serialize(final Timestamp src, final Type typeOfSrc, final JsonSerializationContext context) {
+ String dfString = format.format(new Date(src.getTime()));
+ return new JsonPrimitive(dfString);
+ }
+ }
}
diff --git a/shenyu-dist/shenyu-admin-dist/docker/Dockerfile b/shenyu-dist/shenyu-admin-dist/docker/Dockerfile
index 3138f13..2df4884 100644
--- a/shenyu-dist/shenyu-admin-dist/docker/Dockerfile
+++ b/shenyu-dist/shenyu-admin-dist/docker/Dockerfile
@@ -23,9 +23,9 @@
ADD target/${APP_NAME}.tar.gz /opt
RUN mv /opt/${APP_NAME} ${LOCAL_PATH}
-FROM openjdk:8-jre-alpine
+FROM amazoncorretto:17.0.11-alpine3.19
-RUN apk --no-cache add procps
+RUN apk --no-cache add wget curl
ENV LOCAL_PATH /opt/shenyu-admin
ENV ADMIN_JVM ""
diff --git a/shenyu-dist/shenyu-admin-dist/docker/entrypoint.sh b/shenyu-dist/shenyu-admin-dist/docker/entrypoint.sh
index 31ef33f..fcc0e0d 100644
--- a/shenyu-dist/shenyu-admin-dist/docker/entrypoint.sh
+++ b/shenyu-dist/shenyu-admin-dist/docker/entrypoint.sh
@@ -24,7 +24,6 @@
CLASS_PATH=.:${DEPLOY_DIR}/conf:${DEPLOY_DIR}/lib/*:${EXT_LIB}/*
if [ -z "${ADMIN_JVM}" ]; then
JAVA_OPTS=" -server -Xmx2g -Xms2g -Xmn1g -Xss328k -XX:+DisableExplicitGC -XX:LargePageSizeInBytes=128m"
- JAVA_OPTS="${JAVA_OPTS} -XX:+UseFastAccessorMethods -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70"
echo "Use default jvm options: $JAVA_OPTS"
else
JAVA_OPTS=${ADMIN_JVM}
diff --git a/shenyu-dist/shenyu-bootstrap-dist/docker/Dockerfile b/shenyu-dist/shenyu-bootstrap-dist/docker/Dockerfile
index a1b3f89..72fee6f 100644
--- a/shenyu-dist/shenyu-bootstrap-dist/docker/Dockerfile
+++ b/shenyu-dist/shenyu-bootstrap-dist/docker/Dockerfile
@@ -23,9 +23,9 @@
ADD target/${APP_NAME}.tar.gz /opt
RUN mv /opt/${APP_NAME} ${LOCAL_PATH}
-FROM openjdk:8-jre-alpine
+FROM amazoncorretto:17.0.11-alpine3.19
-RUN apk --no-cache add procps
+RUN apk --no-cache add wget curl
ENV LOCAL_PATH /opt/shenyu-bootstrap
ENV BOOT_JVM ""
diff --git a/shenyu-dist/shenyu-bootstrap-dist/docker/entrypoint.sh b/shenyu-dist/shenyu-bootstrap-dist/docker/entrypoint.sh
index d8262ae..ea5a638 100644
--- a/shenyu-dist/shenyu-bootstrap-dist/docker/entrypoint.sh
+++ b/shenyu-dist/shenyu-bootstrap-dist/docker/entrypoint.sh
@@ -24,7 +24,7 @@
CLASS_PATH=.:${DEPLOY_DIR}/conf:${DEPLOY_DIR}/lib/*:${EXT_LIB}/*
if [ -z "${BOOT_JVM}" ]; then
JAVA_OPTS=" -server -Xmx2g -Xms2g -Xmn1g -Xss512k -XX:+DisableExplicitGC -XX:LargePageSizeInBytes=128m"
- JAVA_OPTS="${JAVA_OPTS} -XX:+UseFastAccessorMethods -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70"
+# JAVA_OPTS="${JAVA_OPTS} -XX:+UseFastAccessorMethods -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70"
echo "Use default jvm options: $JAVA_OPTS"
else
JAVA_OPTS=${BOOT_JVM}
diff --git a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-http/k8s/script/e2e-http-sync.sh b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-http/k8s/script/e2e-http-sync.sh
index 8329491..25f37f0 100644
--- a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-http/k8s/script/e2e-http-sync.sh
+++ b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-http/k8s/script/e2e-http-sync.sh
@@ -55,6 +55,8 @@
sleep 10s
kubectl get pod -o wide
+ kubectl logs "$(kubectl get pod -o wide | grep shenyu-admin | awk '{print $1}')"
+
## run e2e-test
./mvnw -B -f ./shenyu-e2e/pom.xml -pl shenyu-e2e-case/shenyu-e2e-case-http -am test
# shellcheck disable=SC2181
diff --git a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-storage/k8s/script/e2e-h2.sh b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-storage/k8s/script/e2e-h2.sh
index 8ab63af..c5f39a9 100644
--- a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-storage/k8s/script/e2e-h2.sh
+++ b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-storage/k8s/script/e2e-h2.sh
@@ -31,8 +31,6 @@
chmod +x "${curPath}"/healthcheck.sh
sh "${curPath}"/healthcheck.sh h2 http://localhost:31095/actuator/health http://localhost:31195/actuator/health
-kubectl get pod -o wide
-
## run e2e-test
curl -S "http://localhost:31195/actuator/pluginData"
diff --git a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-storage/k8s/script/e2e-mysql.sh b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-storage/k8s/script/e2e-mysql.sh
index 9df50ed..4a5188e 100644
--- a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-storage/k8s/script/e2e-mysql.sh
+++ b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-storage/k8s/script/e2e-mysql.sh
@@ -31,11 +31,11 @@
sleep 30s
-kubectl get pod -o wide
-
chmod +x "${curPath}"/healthcheck.sh
sh "${curPath}"/healthcheck.sh mysql http://localhost:31095/actuator/health http://localhost:31195/actuator/health
+kubectl logs "$(kubectl get pod -o wide | grep shenyu-admin | awk '{print $1}')"
+
## run e2e-test
curl -S "http://localhost:31195/actuator/pluginData"
diff --git a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-storage/k8s/script/e2e-opengauss.sh b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-storage/k8s/script/e2e-opengauss.sh
index cffcee2..0cbad86 100644
--- a/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-storage/k8s/script/e2e-opengauss.sh
+++ b/shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-storage/k8s/script/e2e-opengauss.sh
@@ -36,10 +36,6 @@
chmod +x "${curPath}"/healthcheck.sh
sh "${curPath}"/healthcheck.sh postgres http://localhost:31095/actuator/health http://localhost:31195/actuator/health
-kubectl logs "$(kubectl get pod -o wide | grep shenyu-admin | awk '{print $1}')"
-
-kubectl logs "$(kubectl get pod -o wide | grep shenyu-bootstrap | awk '{print $1}')"
-
## run e2e-test
curl -S "http://localhost:31195/actuator/pluginData"
diff --git a/shenyu-e2e/shenyu-e2e-client/src/main/java/org/apache/shenyu/e2e/client/WaitDataSync.java b/shenyu-e2e/shenyu-e2e-client/src/main/java/org/apache/shenyu/e2e/client/WaitDataSync.java
index 2c8676e..ce3efdd 100644
--- a/shenyu-e2e/shenyu-e2e-client/src/main/java/org/apache/shenyu/e2e/client/WaitDataSync.java
+++ b/shenyu-e2e/shenyu-e2e-client/src/main/java/org/apache/shenyu/e2e/client/WaitDataSync.java
@@ -65,7 +65,7 @@
if (retryNum % 3 == 0) {
adminClient.syncPluginAll();
}
- Thread.sleep(3000);
+ Thread.sleep(10000);
retryNum++;
}
Assertions.assertNotEquals(adminDataList.size(), 0);
@@ -90,7 +90,7 @@
break;
}
}
- Thread.sleep(3000);
+ Thread.sleep(10000);
retryNum++;
pluginMap = gatewayClient.getPlugins();
}
diff --git a/shenyu-examples/shenyu-examples-dubbo/shenyu-examples-apache-dubbo-service-xml/Dockerfile b/shenyu-examples/shenyu-examples-dubbo/shenyu-examples-apache-dubbo-service-xml/Dockerfile
index 164a223..804dc32 100644
--- a/shenyu-examples/shenyu-examples-dubbo/shenyu-examples-apache-dubbo-service-xml/Dockerfile
+++ b/shenyu-examples/shenyu-examples-dubbo/shenyu-examples-apache-dubbo-service-xml/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-apache-dubbo-service-xml
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-dubbo/shenyu-examples-apache-dubbo-service-xml/pom.xml b/shenyu-examples/shenyu-examples-dubbo/shenyu-examples-apache-dubbo-service-xml/pom.xml
index aedfcdf..dd35ae7 100644
--- a/shenyu-examples/shenyu-examples-dubbo/shenyu-examples-apache-dubbo-service-xml/pom.xml
+++ b/shenyu-examples/shenyu-examples-dubbo/shenyu-examples-apache-dubbo-service-xml/pom.xml
@@ -133,11 +133,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.shenyu</groupId>
- <artifactId>shenyu-examples-dubbo-api</artifactId>
- <version>2.7.0-SNAPSHOT</version>
- </dependency>
</dependencies>
<build>
diff --git a/shenyu-examples/shenyu-examples-dubbo/shenyu-examples-apache-dubbo-service/Dockerfile b/shenyu-examples/shenyu-examples-dubbo/shenyu-examples-apache-dubbo-service/Dockerfile
index eabd4a4..68bf4eb 100644
--- a/shenyu-examples/shenyu-examples-dubbo/shenyu-examples-apache-dubbo-service/Dockerfile
+++ b/shenyu-examples/shenyu-examples-dubbo/shenyu-examples-apache-dubbo-service/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM bellsoft/liberica-openjdk-alpine:17
ENV APP_NAME shenyu-examples-apache-dubbo-service
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-eureka/Dockerfile b/shenyu-examples/shenyu-examples-eureka/Dockerfile
index a5c102b..ef303fb 100644
--- a/shenyu-examples/shenyu-examples-eureka/Dockerfile
+++ b/shenyu-examples/shenyu-examples-eureka/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-eureka
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-grpc/Dockerfile b/shenyu-examples/shenyu-examples-grpc/Dockerfile
index c92e73a..3e9a36a 100644
--- a/shenyu-examples/shenyu-examples-grpc/Dockerfile
+++ b/shenyu-examples/shenyu-examples-grpc/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-grpc
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-http-swagger2/Dockerfile b/shenyu-examples/shenyu-examples-http-swagger2/Dockerfile
index f63be7c..db84066 100644
--- a/shenyu-examples/shenyu-examples-http-swagger2/Dockerfile
+++ b/shenyu-examples/shenyu-examples-http-swagger2/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-http-swagger2
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-http/Dockerfile b/shenyu-examples/shenyu-examples-http/Dockerfile
index f5fd21f..d6b53f4 100644
--- a/shenyu-examples/shenyu-examples-http/Dockerfile
+++ b/shenyu-examples/shenyu-examples-http/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-http
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-https/Dockerfile b/shenyu-examples/shenyu-examples-https/Dockerfile
index 0ecee47..eec4c68 100644
--- a/shenyu-examples/shenyu-examples-https/Dockerfile
+++ b/shenyu-examples/shenyu-examples-https/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:11
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-https
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-motan/shenyu-examples-motan-service/Dockerfile b/shenyu-examples/shenyu-examples-motan/shenyu-examples-motan-service/Dockerfile
index da170ff..0bac119 100644
--- a/shenyu-examples/shenyu-examples-motan/shenyu-examples-motan-service/Dockerfile
+++ b/shenyu-examples/shenyu-examples-motan/shenyu-examples-motan-service/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-motan
ENV LOCAL_PATH /opt/${APP_NAME}
@@ -27,4 +27,4 @@
EXPOSE 8081
EXPOSE 8002
-CMD java -jar ${APP_NAME}.jar
+CMD java --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.net.util=ALL-UNNAMED -jar ${APP_NAME}.jar
diff --git a/shenyu-examples/shenyu-examples-motan/shenyu-examples-motan-service/pom.xml b/shenyu-examples/shenyu-examples-motan/shenyu-examples-motan-service/pom.xml
index 800a2dd..d92cb79 100644
--- a/shenyu-examples/shenyu-examples-motan/shenyu-examples-motan-service/pom.xml
+++ b/shenyu-examples/shenyu-examples-motan/shenyu-examples-motan-service/pom.xml
@@ -28,6 +28,10 @@
<artifactId>shenyu-examples-motan-service</artifactId>
+ <properties>
+ <zookeeper.version>3.7.2</zookeeper.version>
+ </properties>
+
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
@@ -50,6 +54,17 @@
<groupId>org.apache.shenyu</groupId>
<artifactId>shenyu-examples-motan-api</artifactId>
<version>${project.version}</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>zookeeper</artifactId>
+ <groupId>org.apache.zookeeper</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <artifactId>zookeeper</artifactId>
+ <groupId>org.apache.zookeeper</groupId>
+ <version>${zookeeper.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shenyu</groupId>
diff --git a/shenyu-examples/shenyu-examples-plugin/pom.xml b/shenyu-examples/shenyu-examples-plugin/pom.xml
index a5f28e6..eda4c1a 100644
--- a/shenyu-examples/shenyu-examples-plugin/pom.xml
+++ b/shenyu-examples/shenyu-examples-plugin/pom.xml
@@ -33,6 +33,10 @@
<artifactId>shenyu-plugin-base</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>javax.annotation</groupId>
+ <artifactId>javax.annotation-api</artifactId>
+ </dependency>
</dependencies>
</project>
diff --git a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/Dockerfile b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/Dockerfile
index 1cfc077..8f1d1bd 100644
--- a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/Dockerfile
+++ b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-sdk-apache-dubbo-consumer
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/Dockerfile b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/Dockerfile
index 60eda0c..63367db 100644
--- a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/Dockerfile
+++ b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-sdk-apache-dubbo-provider
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-feign/Dockerfile b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-feign/Dockerfile
index 2020e23..c72364d 100644
--- a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-feign/Dockerfile
+++ b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-feign/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-sdk-feign
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-grpc/shenyu-examples-sdk-grpc-consumer/Dockerfile b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-grpc/shenyu-examples-sdk-grpc-consumer/Dockerfile
index cfb1469..5fe8904 100644
--- a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-grpc/shenyu-examples-sdk-grpc-consumer/Dockerfile
+++ b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-grpc/shenyu-examples-sdk-grpc-consumer/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-sdk-grpc-consumer
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-grpc/shenyu-examples-sdk-grpc-provider/Dockerfile b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-grpc/shenyu-examples-sdk-grpc-provider/Dockerfile
index 2c2e4be..1f1b9a0 100644
--- a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-grpc/shenyu-examples-sdk-grpc-provider/Dockerfile
+++ b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-grpc/shenyu-examples-sdk-grpc-provider/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-sdk-grpc-provider
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-http/Dockerfile b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-http/Dockerfile
index 52e74e0..e98d9ec 100644
--- a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-http/Dockerfile
+++ b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-http/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-sdk-http
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-springcloud/shenyu-examples-sdk-springcloud-consumer/Dockerfile b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-springcloud/shenyu-examples-sdk-springcloud-consumer/Dockerfile
index de486f4..1da8851 100644
--- a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-springcloud/shenyu-examples-sdk-springcloud-consumer/Dockerfile
+++ b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-springcloud/shenyu-examples-sdk-springcloud-consumer/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-sdk-springcloud-consumer
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-springcloud/shenyu-examples-sdk-springcloud-provider/Dockerfile b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-springcloud/shenyu-examples-sdk-springcloud-provider/Dockerfile
index a33f0d6..1ae1a64 100644
--- a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-springcloud/shenyu-examples-sdk-springcloud-provider/Dockerfile
+++ b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-springcloud/shenyu-examples-sdk-springcloud-provider/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-sdk-springcloud-provider
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-sofa/shenyu-examples-sofa-service/Dockerfile b/shenyu-examples/shenyu-examples-sofa/shenyu-examples-sofa-service/Dockerfile
index f74449a..866cb04 100644
--- a/shenyu-examples/shenyu-examples-sofa/shenyu-examples-sofa-service/Dockerfile
+++ b/shenyu-examples/shenyu-examples-sofa/shenyu-examples-sofa-service/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-sofa
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-springcloud/Dockerfile b/shenyu-examples/shenyu-examples-springcloud/Dockerfile
index 9c365bc..776dc28 100644
--- a/shenyu-examples/shenyu-examples-springcloud/Dockerfile
+++ b/shenyu-examples/shenyu-examples-springcloud/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-springcloud
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-springmvc/Dockerfile b/shenyu-examples/shenyu-examples-springmvc/Dockerfile
index ac19a0d..1251fe8 100644
--- a/shenyu-examples/shenyu-examples-springmvc/Dockerfile
+++ b/shenyu-examples/shenyu-examples-springmvc/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-examples-springmvc
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-websocket/shenyu-example-spring-annotation-websocket/Dockerfile b/shenyu-examples/shenyu-examples-websocket/shenyu-example-spring-annotation-websocket/Dockerfile
index cb9115e..6bac3df 100644
--- a/shenyu-examples/shenyu-examples-websocket/shenyu-example-spring-annotation-websocket/Dockerfile
+++ b/shenyu-examples/shenyu-examples-websocket/shenyu-example-spring-annotation-websocket/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-example-spring-annotation-websocket
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-websocket/shenyu-example-spring-native-websocket/Dockerfile b/shenyu-examples/shenyu-examples-websocket/shenyu-example-spring-native-websocket/Dockerfile
index 4c81aac..2733edb 100644
--- a/shenyu-examples/shenyu-examples-websocket/shenyu-example-spring-native-websocket/Dockerfile
+++ b/shenyu-examples/shenyu-examples-websocket/shenyu-example-spring-native-websocket/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-example-spring-native-websocket
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-examples/shenyu-examples-websocket/shenyu-example-spring-native-websocket/src/main/resources/application.yml b/shenyu-examples/shenyu-examples-websocket/shenyu-example-spring-native-websocket/src/main/resources/application.yml
index 40de2e2..d3cf0d8 100644
--- a/shenyu-examples/shenyu-examples-websocket/shenyu-example-spring-native-websocket/src/main/resources/application.yml
+++ b/shenyu-examples/shenyu-examples-websocket/shenyu-example-spring-native-websocket/src/main/resources/application.yml
@@ -64,4 +64,4 @@
org.apache.ibatis: info
org.apache.shenyu.bonuspoint: info
org.apache.shenyu.lottery: debug
- org.apache.shenyu: debug
\ No newline at end of file
+ org.apache.shenyu: debug
diff --git a/shenyu-integrated-test/shenyu-integrated-test-apache-dubbo/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-apache-dubbo/Dockerfile
index 823b11a..0cc49ae 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-apache-dubbo/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-apache-dubbo/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-apache-dubbo
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-integrated-test/shenyu-integrated-test-combination/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-combination/Dockerfile
index f995f71..aab9a70 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-combination/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-combination/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-combination
ENV LOCAL_PATH /opt/${APP_NAME}
@@ -26,4 +26,4 @@
WORKDIR ${LOCAL_PATH}
EXPOSE 9195
-CMD java -jar ${APP_NAME}.jar
+CMD java --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.net.util=ALL-UNNAMED -jar ${APP_NAME}.jar
diff --git a/shenyu-integrated-test/shenyu-integrated-test-grpc/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-grpc/Dockerfile
index 615a6cf..ce90f08 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-grpc/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-grpc/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-grpc
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-integrated-test/shenyu-integrated-test-http/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-http/Dockerfile
index b810d8e..70cd9aa 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-http/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-http/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-http
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-integrated-test/shenyu-integrated-test-https/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-https/Dockerfile
index 4825293..bb147a4 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-https/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-https/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:11
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-https
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-apache-dubbo/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-apache-dubbo/Dockerfile
index 2b09f50..e9bbdd8 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-apache-dubbo/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-apache-dubbo/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-k8s-ingress-apache-dubbo
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-grpc/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-grpc/Dockerfile
index 94f2929..8fcf63c 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-grpc/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-grpc/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-k8s-ingress-grpc
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-http/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-http/Dockerfile
index 30b3db7..7ace540 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-http/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-http/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-k8s-ingress-http
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-motan/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-motan/Dockerfile
index f438397..94dbba5 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-motan/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-motan/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-k8s-ingress-motan
ENV LOCAL_PATH /opt/${APP_NAME}
@@ -26,4 +26,4 @@
WORKDIR ${LOCAL_PATH}
EXPOSE 9195
-CMD java -jar ${APP_NAME}.jar
+CMD java --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.net.util=ALL-UNNAMED -jar ${APP_NAME}.jar
diff --git a/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-sofa/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-sofa/Dockerfile
index db79bc5..e48f867 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-sofa/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-sofa/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-k8s-ingress-sofa
ENV LOCAL_PATH /opt/${APP_NAME}
@@ -26,4 +26,4 @@
WORKDIR ${LOCAL_PATH}
EXPOSE 9195
-CMD java -jar ${APP_NAME}.jar
+CMD java --add-opens java.base/java.lang=ALL-UNNAMED -jar ${APP_NAME}.jar
diff --git a/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-spring-cloud/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-spring-cloud/Dockerfile
index b629fc4..757742e 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-spring-cloud/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-spring-cloud/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-k8s-ingress-spring-cloud
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-websocket/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-websocket/Dockerfile
index 152a7d0..725421f 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-websocket/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-websocket/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-k8s-ingress-websocket
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-integrated-test/shenyu-integrated-test-motan/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-motan/Dockerfile
index 30b8058..9647f38 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-motan/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-motan/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-motan
ENV LOCAL_PATH /opt/${APP_NAME}
@@ -26,4 +26,4 @@
WORKDIR ${LOCAL_PATH}
EXPOSE 9195
-CMD java -jar ${APP_NAME}.jar
+CMD java --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.net.util=ALL-UNNAMED -jar ${APP_NAME}.jar
diff --git a/shenyu-integrated-test/shenyu-integrated-test-rewrite/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-rewrite/Dockerfile
index 3bf968d..ed98b89 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-rewrite/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-rewrite/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-rewrite
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/Dockerfile
index ac95c5b..ad4c8a4 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-sdk-apache-dubbo
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-integrated-test/shenyu-integrated-test-sdk-http/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-sdk-http/Dockerfile
index 3a7d6aa..ad5ebf8 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-sdk-http/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-sdk-http/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-sdk-http
ENV LOCAL_PATH /opt/${APP_NAME}
@@ -26,4 +26,4 @@
WORKDIR ${LOCAL_PATH}
EXPOSE 9195
-CMD java -jar ${APP_NAME}.jar
\ No newline at end of file
+CMD java -jar ${APP_NAME}.jar
diff --git a/shenyu-integrated-test/shenyu-integrated-test-sofa/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-sofa/Dockerfile
index 180f6bb..1a6a5b3 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-sofa/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-sofa/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-sofa
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-integrated-test/shenyu-integrated-test-spring-cloud/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-spring-cloud/Dockerfile
index 111e275..a61b9c7 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-spring-cloud/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-spring-cloud/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-spring-cloud
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-integrated-test/shenyu-integrated-test-upload-plugin/shenyu-custom-plugin/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-upload-plugin/shenyu-custom-plugin/Dockerfile
index aa0485e..74ee1f9 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-upload-plugin/shenyu-custom-plugin/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-upload-plugin/shenyu-custom-plugin/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-custom-plugin
ADD target/shenyu-custom-plugin-2.7.0-SNAPSHOT.jar /opt/shenyu-custom-plugin.jar
diff --git a/shenyu-integrated-test/shenyu-integrated-test-upload-plugin/shenyu-integrated-test-admin/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-upload-plugin/shenyu-integrated-test-admin/Dockerfile
index 4b64298..ea27ef7 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-upload-plugin/shenyu-integrated-test-admin/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-upload-plugin/shenyu-integrated-test-admin/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-admin
ENV LOCAL_PATH /opt/${APP_NAME}
diff --git a/shenyu-integrated-test/shenyu-integrated-test-upload-plugin/shenyu-integrated-test-upload-plugin-case/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-upload-plugin/shenyu-integrated-test-upload-plugin-case/Dockerfile
index 8baa932..28f462f 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-upload-plugin/shenyu-integrated-test-upload-plugin-case/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-upload-plugin/shenyu-integrated-test-upload-plugin-case/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-upload-plugin-case
ENV LOCAL_PATH /opt/${APP_NAME}
RUN mkdir -p ${LOCAL_PATH}
@@ -27,4 +27,4 @@
WORKDIR ${LOCAL_PATH}
EXPOSE 9195
-CMD java -jar ${APP_NAME}.jar
\ No newline at end of file
+CMD java -jar ${APP_NAME}.jar
diff --git a/shenyu-integrated-test/shenyu-integrated-test-websocket/Dockerfile b/shenyu-integrated-test/shenyu-integrated-test-websocket/Dockerfile
index 86137c2..da16e9b 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-websocket/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-websocket/Dockerfile
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:17-centos7
ENV APP_NAME shenyu-integrated-test-websocket
ENV LOCAL_PATH /opt/${APP_NAME}