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 getMaxSize();
Integer getCorePoolSize();
Integer getMaximumPoolSize();
/** /**
* Get queue type * Get queue type
* *

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

@ -24,7 +24,7 @@ import lombok.Data;
import javax.validation.constraints.Pattern; import javax.validation.constraints.Pattern;
@Data @Data
public class ConfigModifySaveReqDTO implements ThreadPoolParameter { public class ConfigModifySaveReqDTO {
/** /**
* thread pool config change type * thread pool config change type
@ -60,14 +60,14 @@ public class ConfigModifySaveReqDTO implements ThreadPoolParameter {
private String itemId; 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 * Queue type

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

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

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

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

Loading…
Cancel
Save