From 3f8dfb4c31587bd8ee3053d532c54ac2c57575c8 Mon Sep 17 00:00:00 2001 From: maxisvest <1447829379@qq.com> Date: Sun, 9 Oct 2022 16:16:41 +0800 Subject: [PATCH 1/3] Add method for TraceContextUtil (#777) * add method for TraceContextUtil * modify something * delete blank line --- .../ThreadPoolNotifyAlarmHandler.java | 4 +- .../executor/support/ExecutorContext.java | 37 ------------------- ...til.java => ExecutorTraceContextUtil.java} | 13 ++++++- .../core/handler/TaskTraceBuilderHandler.java | 4 +- 4 files changed, 15 insertions(+), 43 deletions(-) delete mode 100644 hippo4j-core/src/main/java/cn/hippo4j/core/executor/support/ExecutorContext.java rename hippo4j-core/src/main/java/cn/hippo4j/core/toolkit/{TraceContextUtil.java => ExecutorTraceContextUtil.java} (83%) diff --git a/hippo4j-core/src/main/java/cn/hippo4j/core/executor/ThreadPoolNotifyAlarmHandler.java b/hippo4j-core/src/main/java/cn/hippo4j/core/executor/ThreadPoolNotifyAlarmHandler.java index 53489a23..77237dd4 100644 --- a/hippo4j-core/src/main/java/cn/hippo4j/core/executor/ThreadPoolNotifyAlarmHandler.java +++ b/hippo4j-core/src/main/java/cn/hippo4j/core/executor/ThreadPoolNotifyAlarmHandler.java @@ -23,7 +23,7 @@ import cn.hippo4j.core.executor.manage.GlobalNotifyAlarmManage; import cn.hippo4j.core.executor.manage.GlobalThreadPoolManage; import cn.hippo4j.core.executor.support.ThreadPoolBuilder; import cn.hippo4j.core.toolkit.IdentifyUtil; -import cn.hippo4j.core.toolkit.TraceContextUtil; +import cn.hippo4j.core.toolkit.ExecutorTraceContextUtil; import cn.hippo4j.message.service.Hippo4jSendMessageService; import cn.hippo4j.message.enums.NotifyTypeEnum; import cn.hippo4j.message.service.ThreadPoolNotifyAlarm; @@ -178,7 +178,7 @@ public class ThreadPoolNotifyAlarmHandler implements Runnable, CommandLineRunner alarmNotifyRequest.setThreadPoolId(threadPoolId); alarmNotifyRequest.setExecuteTime(executeTime); alarmNotifyRequest.setExecuteTimeOut(executeTimeOut); - String executeTimeoutTrace = TraceContextUtil.getAndRemove(); + String executeTimeoutTrace = ExecutorTraceContextUtil.getAndRemoveTimeoutTrace(); if (StringUtil.isNotBlank(executeTimeoutTrace)) { alarmNotifyRequest.setExecuteTimeoutTrace(executeTimeoutTrace); } diff --git a/hippo4j-core/src/main/java/cn/hippo4j/core/executor/support/ExecutorContext.java b/hippo4j-core/src/main/java/cn/hippo4j/core/executor/support/ExecutorContext.java deleted file mode 100644 index 7cd2db56..00000000 --- a/hippo4j-core/src/main/java/cn/hippo4j/core/executor/support/ExecutorContext.java +++ /dev/null @@ -1,37 +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 cn.hippo4j.core.executor.support; - -import org.slf4j.MDC; - -import static cn.hippo4j.common.constant.Constants.EXECUTE_TIMEOUT_TRACE; - -/** - * Executor context. - */ -public class ExecutorContext { - - /** - * Put execute timeout trace. - * - * @param executeTimeoutTrace - */ - public static void putExecuteTimeoutTrace(String executeTimeoutTrace) { - MDC.put(EXECUTE_TIMEOUT_TRACE, executeTimeoutTrace); - } -} diff --git a/hippo4j-core/src/main/java/cn/hippo4j/core/toolkit/TraceContextUtil.java b/hippo4j-core/src/main/java/cn/hippo4j/core/toolkit/ExecutorTraceContextUtil.java similarity index 83% rename from hippo4j-core/src/main/java/cn/hippo4j/core/toolkit/TraceContextUtil.java rename to hippo4j-core/src/main/java/cn/hippo4j/core/toolkit/ExecutorTraceContextUtil.java index e87ce031..a372e1f0 100644 --- a/hippo4j-core/src/main/java/cn/hippo4j/core/toolkit/TraceContextUtil.java +++ b/hippo4j-core/src/main/java/cn/hippo4j/core/toolkit/ExecutorTraceContextUtil.java @@ -24,7 +24,7 @@ import static cn.hippo4j.common.constant.Constants.EXECUTE_TIMEOUT_TRACE; /** * Trace context util. */ -public class TraceContextUtil { +public class ExecutorTraceContextUtil { /** * Execute timeout trace key. @@ -36,12 +36,21 @@ public class TraceContextUtil { * * @return */ - public static String getAndRemove() { + public static String getAndRemoveTimeoutTrace() { String val = MDC.get(EXECUTE_TIMEOUT_TRACE_KEY); MDC.remove(EXECUTE_TIMEOUT_TRACE_KEY); return val; } + /** + * Put execute timeout trace. + * + * @param trace + */ + public static void putExecuteTimeoutTrace(String trace) { + MDC.put(EXECUTE_TIMEOUT_TRACE, trace); + } + /** * Set execute timeout trace key. * diff --git a/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/handler/TaskTraceBuilderHandler.java b/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/handler/TaskTraceBuilderHandler.java index d475d6eb..e557fe8f 100644 --- a/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/handler/TaskTraceBuilderHandler.java +++ b/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/handler/TaskTraceBuilderHandler.java @@ -18,7 +18,7 @@ package cn.hippo4j.example.core.handler; import cn.hippo4j.common.toolkit.StringUtil; -import cn.hippo4j.core.executor.support.ExecutorContext; +import cn.hippo4j.core.toolkit.ExecutorTraceContextUtil; import org.slf4j.MDC; import org.springframework.core.task.TaskDecorator; @@ -34,7 +34,7 @@ public final class TaskTraceBuilderHandler implements TaskDecorator { String executeTimeoutTrace = MDC.get(EXECUTE_TIMEOUT_TRACE); Runnable taskRun = () -> { if (StringUtil.isNotBlank(executeTimeoutTrace)) { - ExecutorContext.putExecuteTimeoutTrace(executeTimeoutTrace); + ExecutorTraceContextUtil.putExecuteTimeoutTrace(executeTimeoutTrace); } runnable.run(); // There is no need to clean up here, and it will be cleaned up after the thread task is executed. From 8f742e559c19c9e08f6fe66ac4c967359946d7aa Mon Sep 17 00:00:00 2001 From: shanjianq <49084314+shanjianq@users.noreply.github.com> Date: Sun, 9 Oct 2022 17:13:40 +0800 Subject: [PATCH 2/3] Config change verify (#780) * init code for verify module * init code for verify module * create application for config modify in thread pool manage * finish rejectModification * finish rejectModification * add todo * finish threadPoolManage accept * finish threadPoolManage accept * finish threadPoolManage config verify * formatting code * optimize ConfigModifyVerifyService * finish config modification verify * finish config modification verify * finish webConfig modification verify * finish webConfig modification verify * finish webConfig modification verify * finish threadPoolInstanceConfig modification verify * finish adapterThreadPoolConfig modification verify * finish adapterThreadPoolConfig modification verify * finish adapterThreadPoolConfig modification verify * optmize ConfigVerifyController * optmize ConfigVerifyController * optmize ConfigVerifyController * fix ConfigModifyVerifyReqDTO * fix bug * optimize verifyController * optimize verifyController * fix request param * finish modify application query page * finish modify application query page * finish modify application query detail * finish modify application query detail * finish thread pool config modification verify module * optimize accept modification logic * formatting code * fix bug * formatting code * formatting code * update sql file * add annotation * add annotation and formatting code * add annotation and formatting code * remove useless code * fix sql * fix bug in web thread pool verify and adapter thread pool Co-authored-by: airoger --- ...PoolConfigModificationVerifyServiceImpl.java | 17 +++++++++++------ ...PoolConfigModificationVerifyServiceImpl.java | 17 +++++++++++------ 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/AdapterThreadPoolConfigModificationVerifyServiceImpl.java b/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/AdapterThreadPoolConfigModificationVerifyServiceImpl.java index 6178da1f..1e5fc4f2 100644 --- a/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/AdapterThreadPoolConfigModificationVerifyServiceImpl.java +++ b/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/AdapterThreadPoolConfigModificationVerifyServiceImpl.java @@ -19,8 +19,12 @@ package cn.hippo4j.config.service.biz.impl; import cn.hippo4j.common.constant.ConfigModifyTypeConstants; import cn.hippo4j.common.toolkit.JSONUtil; +import cn.hippo4j.common.toolkit.StringUtil; import cn.hippo4j.config.model.biz.threadpool.ConfigModifyVerifyReqDTO; import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; @@ -41,12 +45,13 @@ public class AdapterThreadPoolConfigModificationVerifyServiceImpl extends Abstra @Override protected void updateThreadPoolParameter(ConfigModifyVerifyReqDTO reqDTO) { for (String each : getClientAddress(reqDTO)) { - String urlString = new StringBuilder() - .append("http://") - .append(each) - .append("/adapter/thread-pool/update") - .toString(); - restTemplate.postForObject(urlString, JSONUtil.toJSONString(reqDTO), Object.class); + String urlString = StringUtil.newBuilder("http://", each, "/adapter/thread-pool/update"); + RestTemplate restTemplate = new RestTemplate(); + // again appoint MediaType + HttpHeaders requestHeaders = new HttpHeaders(); + requestHeaders.setContentType(MediaType.APPLICATION_JSON); + HttpEntity requestEntity = new HttpEntity<>(JSONUtil.toJSONString(reqDTO), requestHeaders); + restTemplate.postForObject(urlString, requestEntity, Object.class); } } } diff --git a/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/WebThreadPoolConfigModificationVerifyServiceImpl.java b/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/WebThreadPoolConfigModificationVerifyServiceImpl.java index 29712765..f0af1fa5 100644 --- a/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/WebThreadPoolConfigModificationVerifyServiceImpl.java +++ b/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/WebThreadPoolConfigModificationVerifyServiceImpl.java @@ -19,8 +19,12 @@ package cn.hippo4j.config.service.biz.impl; import cn.hippo4j.common.constant.ConfigModifyTypeConstants; import cn.hippo4j.common.toolkit.JSONUtil; +import cn.hippo4j.common.toolkit.StringUtil; import cn.hippo4j.config.model.biz.threadpool.ConfigModifyVerifyReqDTO; import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; @@ -41,12 +45,13 @@ public class WebThreadPoolConfigModificationVerifyServiceImpl extends AbstractCo @Override protected void updateThreadPoolParameter(ConfigModifyVerifyReqDTO reqDTO) { for (String each : getClientAddress(reqDTO)) { - String urlString = new StringBuilder() - .append("http://") - .append(each) - .append("/web/update/pool") - .toString(); - restTemplate.postForObject(urlString, JSONUtil.toJSONString(reqDTO), Object.class); + String urlString = StringUtil.newBuilder("http://", each, "/web/update/pool"); + RestTemplate restTemplate = new RestTemplate(); + // again appoint MediaType + HttpHeaders requestHeaders = new HttpHeaders(); + requestHeaders.setContentType(MediaType.APPLICATION_JSON); + HttpEntity requestEntity = new HttpEntity<>(JSONUtil.toJSONString(reqDTO), requestHeaders); + restTemplate.postForObject(urlString, requestEntity, Object.class); } } } From ac7e16b891f09906b8f3cac36184e2560bb85579 Mon Sep 17 00:00:00 2001 From: pirme Date: Sun, 9 Oct 2022 17:13:57 +0800 Subject: [PATCH 3/3] Update the list of contributors --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 55c5b4a0..bb4ab1ed 100644 --- a/README.md +++ b/README.md @@ -115,25 +115,25 @@ Hippo-4J 通过对 JDK 线程池增强,以及扩展三方框架底层线程池 - - Gdk666 + + pizihao
- Null + Pizihao
- - xqxyxchy + + Gdk666
Null
- - pizihao + + xqxyxchy
- Pizihao + Null