finish webConfig modification verify

pull/776/head
yewei 3 years ago
parent 322e140e0a
commit 9744afbeb6

@ -57,6 +57,9 @@ public interface ThreadPoolParameter {
*/
Integer getMaxSize();
Integer getCorePoolSize();
Integer getMaximumPoolSize();
/**
* Get queue type
*

@ -17,10 +17,12 @@
package cn.hippo4j.config.config;
import cn.hippo4j.adapter.web.WebThreadPoolHandlerChoose;
import cn.hippo4j.common.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.Primary;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
@ -30,6 +32,7 @@ import static cn.hippo4j.common.constant.Constants.AVAILABLE_PROCESSORS;
* Common config.
*/
@Configuration
@Import(WebThreadPoolHandlerChoose.class)
public class CommonConfig {
@Bean
@ -50,4 +53,5 @@ public class CommonConfig {
monitorThreadPool.setAwaitTerminationMillis(5000);
return monitorThreadPool;
}
}

@ -24,7 +24,7 @@ import lombok.Data;
import javax.validation.constraints.Pattern;
@Data
public class ConfigModifySaveReqDTO implements ThreadPoolParameter {
public class ConfigModifySaveReqDTO {
/**
* thread pool config change type
@ -60,14 +60,14 @@ public class ConfigModifySaveReqDTO implements ThreadPoolParameter {
private String itemId;
/**
* Core size
* Core pool size
*/
private Integer coreSize;
private Integer corePoolSize;
/**
* Max size
* Maximum pool size
*/
private Integer maxSize;
private Integer maximumPoolSize;
/**
* Queue type

@ -21,6 +21,7 @@ import cn.hippo4j.common.enums.EnableEnum;
import cn.hippo4j.common.enums.VerifyEnum;
import cn.hippo4j.common.model.ThreadPoolParameterInfo;
import cn.hippo4j.common.toolkit.ContentUtil;
import cn.hippo4j.common.toolkit.JSONUtil;
import cn.hippo4j.common.toolkit.UserContext;
import cn.hippo4j.config.mapper.HisConfigVerifyMapper;
import cn.hippo4j.config.model.HisConfigVerifyInfo;
@ -41,7 +42,7 @@ public abstract class AbstractConfigModifyVerifyService implements ConfigModifyV
@Override
public void saveConfigModifyApplication(ConfigModifySaveReqDTO reqDTO) {
HisConfigVerifyInfo hisConfigVerifyInfo = BeanUtil.convert(reqDTO, HisConfigVerifyInfo.class);
hisConfigVerifyInfo.setContent(ContentUtil.getPoolContent(reqDTO));
hisConfigVerifyInfo.setContent(JSONUtil.toJSONString(reqDTO));
hisConfigVerifyInfo.setVerifyStatus(VerifyEnum.TO_VERIFY.getVerifyStatus());
hisConfigVerifyInfo.setModifyAll(EnableEnum.NO.getIntCode());

@ -91,6 +91,8 @@ public class ThreadPoolServiceImpl implements ThreadPoolService {
configService.insertOrUpdate(identify, false, configAllInfo);
} else {
ConfigModifySaveReqDTO modifySaveReqDTO = BeanUtil.convert(reqDTO, ConfigModifySaveReqDTO.class);
modifySaveReqDTO.setCorePoolSize(reqDTO.getCoreSize());
modifySaveReqDTO.setMaximumPoolSize(reqDTO.getMaxSize());
modifySaveReqDTO.setModifyUser(UserContext.getUserName());
modifySaveReqDTO.setType(ConfigModifyTypeConstants.THREAD_POOL_MANAGER);
configModifyVerifyServiceChoose.choose(modifySaveReqDTO.getType()).saveConfigModifyApplication(modifySaveReqDTO);

@ -17,21 +17,21 @@
package cn.hippo4j.console.controller;
import cn.hippo4j.common.constant.ConfigModifyTypeConstants;
import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.common.model.InstanceInfo;
import cn.hippo4j.common.toolkit.JSONUtil;
import cn.hippo4j.common.toolkit.StringUtil;
import cn.hippo4j.common.toolkit.UserContext;
import cn.hippo4j.common.web.base.Result;
import cn.hippo4j.common.web.base.Results;
import cn.hippo4j.common.web.exception.ErrorCodeEnum;
import cn.hippo4j.config.model.CacheItem;
import cn.hippo4j.config.model.biz.threadpool.ThreadPoolDelReqDTO;
import cn.hippo4j.config.model.biz.threadpool.ThreadPoolQueryReqDTO;
import cn.hippo4j.config.model.biz.threadpool.ThreadPoolRespDTO;
import cn.hippo4j.config.model.biz.threadpool.ThreadPoolSaveOrUpdateReqDTO;
import cn.hippo4j.config.model.biz.threadpool.*;
import cn.hippo4j.config.service.ConfigCacheService;
import cn.hippo4j.config.service.biz.ThreadPoolService;
import cn.hippo4j.config.toolkit.BeanUtil;
import cn.hippo4j.config.verify.ConfigModifyVerifyServiceChoose;
import cn.hippo4j.console.model.ThreadPoolInstanceInfo;
import cn.hippo4j.console.model.WebThreadPoolReqDTO;
import cn.hippo4j.console.model.WebThreadPoolRespDTO;
@ -66,6 +66,8 @@ public class ThreadPoolController {
private final BaseInstanceRegistry baseInstanceRegistry;
private final ConfigModifyVerifyServiceChoose configModifyVerifyServiceChoose;
@PostMapping("/query/page")
public Result<IPage<ThreadPoolRespDTO>> queryNameSpacePage(@RequestBody ThreadPoolQueryReqDTO reqDTO) {
return Results.success(threadPoolService.queryThreadPoolPage(reqDTO));
@ -172,9 +174,16 @@ public class ThreadPoolController {
@PostMapping("/web/update/pool")
public Result<Void> updateWebThreadPool(@RequestBody WebThreadPoolReqDTO requestParam) {
for (String each : requestParam.getClientAddressList()) {
String urlString = StrBuilder.create("http://", each, "/web/update/pool").toString();
HttpUtil.post(urlString, JSONUtil.toJSONString(requestParam), HTTP_EXECUTE_TIMEOUT);
if (UserContext.getUserRole().equals("ROLE_ADMIN")) {
for (String each : requestParam.getClientAddressList()) {
String urlString = StrBuilder.create("http://", each, "/web/update/pool").toString();
HttpUtil.post(urlString, JSONUtil.toJSONString(requestParam), HTTP_EXECUTE_TIMEOUT);
}
}else {
ConfigModifySaveReqDTO modifySaveReqDTO = BeanUtil.convert(requestParam, ConfigModifySaveReqDTO.class);
modifySaveReqDTO.setModifyUser(UserContext.getUserName());
modifySaveReqDTO.setType(ConfigModifyTypeConstants.WEB_THREAD_POOL);
configModifyVerifyServiceChoose.choose(modifySaveReqDTO.getType()).saveConfigModifyApplication(modifySaveReqDTO);
}
return Results.success();
}

@ -27,6 +27,21 @@ import java.util.List;
@Data
public class WebThreadPoolReqDTO {
/**
* Thread-pool id
*/
private String tenantId;
/**
* Item id
*/
private String itemId;
/**
* thread pool instance id
*/
private String instanceId;
/**
* Core pool size
*/
@ -42,6 +57,11 @@ public class WebThreadPoolReqDTO {
*/
private Integer keepAliveTime;
/**
* weather modify all instances
*/
private Integer modifyAll;
/**
* Client address list
*/

Loading…
Cancel
Save