Refactoring core entity class naming

pull/222/head
chen.ma 2 years ago
parent a0990d18da
commit 75ddc090ff

@ -26,7 +26,7 @@ import lombok.Data;
* @date 2022/1/8 12:54
*/
@Data
public class ManyPoolRunStateInfo extends PoolRunStateInfo {
public class ManyThreadPoolRunStateInfo extends ThreadPoolRunStateInfo {
/**
* identify

@ -21,14 +21,14 @@ import lombok.Data;
import lombok.experimental.Accessors;
/**
* Pool base info.
* Thread-pool base info.
*
* @author chen.ma
* @date 2022/1/22 12:10
*/
@Data
@Accessors(chain = true)
public class PoolBaseInfo {
public class ThreadPoolBaseInfo {
/**
* coreSize

@ -18,12 +18,12 @@
package cn.hippo4j.common.model;
/**
* Pool parameter.
* Thread-pool parameter.
*
* @author chen.ma
* @date 2021/6/24 16:04
*/
public interface PoolParameter {
public interface ThreadPoolParameter {
/**
* tenantId

@ -30,7 +30,7 @@ import java.io.Serializable;
*/
@Data
@Accessors(chain = true)
public class PoolParameterInfo implements PoolParameter, Serializable {
public class ThreadPoolParameterInfo implements ThreadPoolParameter, Serializable {
private static final long serialVersionUID = -7123935122108553864L;

@ -30,7 +30,7 @@ import java.io.Serializable;
*/
@Getter
@Setter
public class PoolRunStateInfo extends PoolBaseInfo implements Serializable {
public class ThreadPoolRunStateInfo extends ThreadPoolBaseInfo implements Serializable {
/**
* currentLoad

@ -18,8 +18,8 @@
package cn.hippo4j.common.toolkit;
import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.common.model.PoolParameter;
import cn.hippo4j.common.model.PoolParameterInfo;
import cn.hippo4j.common.model.ThreadPoolParameter;
import cn.hippo4j.common.model.ThreadPoolParameterInfo;
/**
* Content util.
@ -29,9 +29,9 @@ import cn.hippo4j.common.model.PoolParameterInfo;
*/
public class ContentUtil {
public static String getPoolContent(PoolParameter parameter) {
PoolParameterInfo poolInfo = new PoolParameterInfo();
poolInfo.setTenantId(parameter.getTenantId())
public static String getPoolContent(ThreadPoolParameter parameter) {
ThreadPoolParameterInfo threadPoolParameterInfo = new ThreadPoolParameterInfo();
threadPoolParameterInfo.setTenantId(parameter.getTenantId())
.setItemId(parameter.getItemId())
.setTpId(parameter.getTpId())
.setCoreSize(parameter.getCoreSize())
@ -44,10 +44,10 @@ public class ContentUtil {
.setLivenessAlarm(parameter.getLivenessAlarm())
.setAllowCoreThreadTimeOut(parameter.getAllowCoreThreadTimeOut())
.setRejectedType(parameter.getRejectedType());
return JSONUtil.toJSONString(poolInfo);
return JSONUtil.toJSONString(threadPoolParameterInfo);
}
public static String getGroupKey(PoolParameter parameter) {
public static String getGroupKey(ThreadPoolParameter parameter) {
StringBuilder stringBuilder = new StringBuilder();
String resultStr = stringBuilder.append(parameter.getTpId())
.append(Constants.GROUP_KEY_DELIMITER)

@ -18,7 +18,7 @@
package cn.hippo4j.common.toolkit;
import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.common.model.PoolParameter;
import cn.hippo4j.common.model.ThreadPoolParameter;
import java.io.IOException;
import java.net.URLEncoder;
@ -74,7 +74,7 @@ public class Md5Util {
return new String(out);
}
public static String getTpContentMd5(PoolParameter config) {
public static String getTpContentMd5(ThreadPoolParameter config) {
return Md5Util.md5Hex(ContentUtil.getPoolContent(config), "UTF-8");
}

@ -17,7 +17,7 @@
package cn.hippo4j.config.model;
import cn.hippo4j.common.model.PoolParameter;
import cn.hippo4j.common.model.ThreadPoolParameter;
import cn.hippo4j.common.toolkit.JSONUtil;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
@ -36,7 +36,7 @@ import java.util.Date;
*/
@Data
@TableName("config")
public class ConfigAllInfo extends ConfigInfo implements PoolParameter {
public class ConfigAllInfo extends ConfigInfo implements ThreadPoolParameter {
private static final long serialVersionUID = -2417394244017463665L;

@ -19,7 +19,7 @@ package cn.hippo4j.console.controller;
import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.common.model.InstanceInfo;
import cn.hippo4j.common.model.PoolParameterInfo;
import cn.hippo4j.common.model.ThreadPoolParameterInfo;
import cn.hippo4j.common.toolkit.JSONUtil;
import cn.hippo4j.common.toolkit.StringUtil;
import cn.hippo4j.common.web.base.Result;
@ -132,9 +132,9 @@ public class ThreadPoolController {
@PostMapping("/web/update/pool")
public Result<Void> updateWebThreadPool(@RequestParam(value = "clientAddress") String clientAddress,
@RequestBody PoolParameterInfo poolParameterInfo) {
@RequestBody ThreadPoolParameterInfo threadPoolParameterInfo) {
String urlString = StrBuilder.create("http://", clientAddress, "/web/update/pool").toString();
String data = HttpUtil.post(urlString, JSONUtil.toJSONString(poolParameterInfo), HTTP_EXECUTE_TIMEOUT);
String data = HttpUtil.post(urlString, JSONUtil.toJSONString(threadPoolParameterInfo), HTTP_EXECUTE_TIMEOUT);
Result result = JSONUtil.parseObject(data, Result.class);
return result;
}

@ -17,7 +17,7 @@
package cn.hippo4j.core.executor.manage;
import cn.hippo4j.common.model.PoolParameter;
import cn.hippo4j.common.model.ThreadPoolParameter;
import cn.hippo4j.core.executor.DynamicThreadPoolWrapper;
import com.google.common.collect.Lists;
@ -36,7 +36,7 @@ public class GlobalThreadPoolManage {
/**
* Dynamic thread pool parameter container.
*/
private static final Map<String, PoolParameter> POOL_PARAMETER = new ConcurrentHashMap();
private static final Map<String, ThreadPoolParameter> POOL_PARAMETER = new ConcurrentHashMap();
/**
* Dynamic thread pool wrapper.
@ -59,7 +59,7 @@ public class GlobalThreadPoolManage {
* @param threadPoolId
* @return
*/
public static PoolParameter getPoolParameter(String threadPoolId) {
public static ThreadPoolParameter getPoolParameter(String threadPoolId) {
return POOL_PARAMETER.get(threadPoolId);
}
@ -67,12 +67,12 @@ public class GlobalThreadPoolManage {
* Register dynamic thread pool wrapper and parameters.
*
* @param threadPoolId
* @param poolParameter
* @param threadPoolParameter
* @param executor
*/
public static void register(String threadPoolId, PoolParameter poolParameter, DynamicThreadPoolWrapper executor) {
public static void register(String threadPoolId, ThreadPoolParameter threadPoolParameter, DynamicThreadPoolWrapper executor) {
registerPool(threadPoolId, executor);
registerPoolParameter(threadPoolId, poolParameter);
registerPoolParameter(threadPoolId, threadPoolParameter);
}
/**
@ -91,7 +91,7 @@ public class GlobalThreadPoolManage {
* @param threadPoolId
* @param poolParameter
*/
public static void registerPoolParameter(String threadPoolId, PoolParameter poolParameter) {
public static void registerPoolParameter(String threadPoolId, ThreadPoolParameter poolParameter) {
POOL_PARAMETER.put(threadPoolId, poolParameter);
}

@ -17,7 +17,7 @@
package cn.hippo4j.core.executor.state;
import cn.hippo4j.common.model.PoolRunStateInfo;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import cn.hippo4j.core.executor.DynamicThreadPoolExecutor;
import cn.hippo4j.core.executor.DynamicThreadPoolWrapper;
import cn.hippo4j.core.executor.manage.GlobalThreadPoolManage;
@ -40,10 +40,10 @@ public abstract class AbstractThreadPoolRuntime {
/**
* Supplement.
*
* @param basePoolRunStateInfo
* @param threadPoolRunStateInfo
* @return
*/
protected abstract PoolRunStateInfo supplement(PoolRunStateInfo basePoolRunStateInfo);
protected abstract ThreadPoolRunStateInfo supplement(ThreadPoolRunStateInfo threadPoolRunStateInfo);
/**
* Get pool run state.
@ -51,7 +51,7 @@ public abstract class AbstractThreadPoolRuntime {
* @param threadPoolId
* @return
*/
public PoolRunStateInfo getPoolRunState(String threadPoolId) {
public ThreadPoolRunStateInfo getPoolRunState(String threadPoolId) {
DynamicThreadPoolWrapper executorService = GlobalThreadPoolManage.getExecutorService(threadPoolId);
ThreadPoolExecutor pool = executorService.getExecutor();
return getPoolRunState(threadPoolId, pool);
@ -64,8 +64,8 @@ public abstract class AbstractThreadPoolRuntime {
* @param executor
* @return
*/
public PoolRunStateInfo getPoolRunState(String threadPoolId, Executor executor) {
PoolRunStateInfo stateInfo = new PoolRunStateInfo();
public ThreadPoolRunStateInfo getPoolRunState(String threadPoolId, Executor executor) {
ThreadPoolRunStateInfo stateInfo = new ThreadPoolRunStateInfo();
ThreadPoolExecutor pool = (ThreadPoolExecutor) executor;
// 核心线程数
int corePoolSize = pool.getCorePoolSize();

@ -17,8 +17,8 @@
package cn.hippo4j.core.executor.state;
import cn.hippo4j.common.model.ManyPoolRunStateInfo;
import cn.hippo4j.common.model.PoolRunStateInfo;
import cn.hippo4j.common.model.ManyThreadPoolRunStateInfo;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import cn.hippo4j.common.toolkit.ByteConvertUtil;
import cn.hippo4j.core.executor.DynamicThreadPoolExecutor;
import cn.hippo4j.core.executor.DynamicThreadPoolWrapper;
@ -51,8 +51,7 @@ public class ThreadPoolRunStateHandler extends AbstractThreadPoolRuntime {
private final ConfigurableEnvironment environment;
@Override
protected PoolRunStateInfo supplement(PoolRunStateInfo poolRunStateInfo) {
// 内存占比: 使用内存 / 最大内存
protected ThreadPoolRunStateInfo supplement(ThreadPoolRunStateInfo poolRunStateInfo) {
RuntimeInfo runtimeInfo = new RuntimeInfo();
String memoryProportion = StrUtil.builder(
"已分配: ",
@ -75,12 +74,12 @@ public class ThreadPoolRunStateHandler extends AbstractThreadPoolRuntime {
rejectedName = pool.getRejectedExecutionHandler().getClass().getSimpleName();
}
poolRunStateInfo.setRejectedName(rejectedName);
ManyPoolRunStateInfo manyPoolRunStateInfo = BeanUtil.toBean(poolRunStateInfo, ManyPoolRunStateInfo.class);
manyPoolRunStateInfo.setIdentify(CLIENT_IDENTIFICATION_VALUE);
ManyThreadPoolRunStateInfo manyThreadPoolRunStateInfo = BeanUtil.toBean(poolRunStateInfo, ManyThreadPoolRunStateInfo.class);
manyThreadPoolRunStateInfo.setIdentify(CLIENT_IDENTIFICATION_VALUE);
String active = environment.getProperty("spring.profiles.active", "UNKNOWN");
manyPoolRunStateInfo.setActive(active.toUpperCase());
manyThreadPoolRunStateInfo.setActive(active.toUpperCase());
String threadPoolState = ThreadPoolStatusHandler.getThreadPoolState(pool);
manyPoolRunStateInfo.setState(threadPoolState);
return manyPoolRunStateInfo;
manyThreadPoolRunStateInfo.setState(threadPoolState);
return manyThreadPoolRunStateInfo;
}
}

@ -17,10 +17,10 @@
package cn.hippo4j.core.executor.web;
import cn.hippo4j.common.model.PoolBaseInfo;
import cn.hippo4j.common.model.PoolParameter;
import cn.hippo4j.common.model.PoolParameterInfo;
import cn.hippo4j.common.model.PoolRunStateInfo;
import cn.hippo4j.common.model.ThreadPoolBaseInfo;
import cn.hippo4j.common.model.ThreadPoolParameter;
import cn.hippo4j.common.model.ThreadPoolParameterInfo;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import cn.hippo4j.common.toolkit.ReflectUtil;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.jetty.util.thread.QueuedThreadPool;
@ -47,8 +47,8 @@ public class JettyWebThreadPoolHandler extends AbstractWebThreadPoolService {
}
@Override
public PoolBaseInfo simpleInfo() {
PoolBaseInfo poolBaseInfo = new PoolBaseInfo();
public ThreadPoolBaseInfo simpleInfo() {
ThreadPoolBaseInfo poolBaseInfo = new ThreadPoolBaseInfo();
QueuedThreadPool queuedThreadPool = (QueuedThreadPool) executor;
poolBaseInfo.setCoreSize(queuedThreadPool.getMinThreads());
poolBaseInfo.setMaximumSize(queuedThreadPool.getMaxThreads());
@ -62,10 +62,10 @@ public class JettyWebThreadPoolHandler extends AbstractWebThreadPoolService {
}
@Override
public PoolParameter getWebThreadPoolParameter() {
PoolParameterInfo parameterInfo = null;
public ThreadPoolParameter getWebThreadPoolParameter() {
ThreadPoolParameterInfo parameterInfo = null;
try {
parameterInfo = new PoolParameterInfo();
parameterInfo = new ThreadPoolParameterInfo();
QueuedThreadPool jettyExecutor = (QueuedThreadPool) executor;
int minThreads = jettyExecutor.getMinThreads();
int maxThreads = jettyExecutor.getMaxThreads();
@ -78,18 +78,18 @@ public class JettyWebThreadPoolHandler extends AbstractWebThreadPoolService {
}
@Override
public PoolRunStateInfo getWebRunStateInfo() {
public ThreadPoolRunStateInfo getWebRunStateInfo() {
return null;
}
@Override
public void updateWebThreadPool(PoolParameterInfo poolParameterInfo) {
public void updateWebThreadPool(ThreadPoolParameterInfo threadPoolParameterInfo) {
try {
QueuedThreadPool jettyExecutor = (QueuedThreadPool) executor;
int minThreads = jettyExecutor.getMinThreads();
int maxThreads = jettyExecutor.getMaxThreads();
Integer coreSize = poolParameterInfo.getCoreSize();
Integer maxSize = poolParameterInfo.getMaxSize();
Integer coreSize = threadPoolParameterInfo.getCoreSize();
Integer maxSize = threadPoolParameterInfo.getMaxSize();
jettyExecutor.setMinThreads(coreSize);
jettyExecutor.setMaxThreads(maxSize);
log.info(

@ -17,10 +17,10 @@
package cn.hippo4j.core.executor.web;
import cn.hippo4j.common.model.PoolBaseInfo;
import cn.hippo4j.common.model.PoolParameter;
import cn.hippo4j.common.model.PoolParameterInfo;
import cn.hippo4j.common.model.PoolRunStateInfo;
import cn.hippo4j.common.model.ThreadPoolBaseInfo;
import cn.hippo4j.common.model.ThreadPoolParameter;
import cn.hippo4j.common.model.ThreadPoolParameterInfo;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import cn.hippo4j.core.executor.state.AbstractThreadPoolRuntime;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -66,8 +66,8 @@ public class TomcatWebThreadPoolHandler extends AbstractWebThreadPoolService {
}
@Override
public PoolBaseInfo simpleInfo() {
PoolBaseInfo poolBaseInfo = new PoolBaseInfo();
public ThreadPoolBaseInfo simpleInfo() {
ThreadPoolBaseInfo poolBaseInfo = new ThreadPoolBaseInfo();
ThreadPoolExecutor threadPoolExecutor = (ThreadPoolExecutor) executor;
int corePoolSize = threadPoolExecutor.getCorePoolSize();
int maximumPoolSize = threadPoolExecutor.getMaximumPoolSize();
@ -89,10 +89,10 @@ public class TomcatWebThreadPoolHandler extends AbstractWebThreadPoolService {
}
@Override
public PoolParameter getWebThreadPoolParameter() {
PoolParameterInfo parameterInfo = null;
public ThreadPoolParameter getWebThreadPoolParameter() {
ThreadPoolParameterInfo parameterInfo = null;
try {
parameterInfo = new PoolParameterInfo();
parameterInfo = new ThreadPoolParameterInfo();
ThreadPoolExecutor tomcatExecutor = (ThreadPoolExecutor) executor;
int minThreads = tomcatExecutor.getCorePoolSize();
int maxThreads = tomcatExecutor.getMaximumPoolSize();
@ -108,28 +108,28 @@ public class TomcatWebThreadPoolHandler extends AbstractWebThreadPoolService {
}
@Override
public PoolRunStateInfo getWebRunStateInfo() {
public ThreadPoolRunStateInfo getWebRunStateInfo() {
return webThreadPoolRunStateHandler.getPoolRunState(null, executor);
}
@Override
public void updateWebThreadPool(PoolParameterInfo poolParameterInfo) {
public void updateWebThreadPool(ThreadPoolParameterInfo threadPoolParameterInfo) {
try {
ThreadPoolExecutor tomcatExecutor = (ThreadPoolExecutor) executor;
int originalCoreSize = tomcatExecutor.getCorePoolSize();
int originalMaximumPoolSize = tomcatExecutor.getMaximumPoolSize();
long originalKeepAliveTime = tomcatExecutor.getKeepAliveTime(TimeUnit.SECONDS);
tomcatExecutor.setCorePoolSize(poolParameterInfo.getCoreSize());
tomcatExecutor.setMaximumPoolSize(poolParameterInfo.getMaxSize());
tomcatExecutor.setKeepAliveTime(poolParameterInfo.getKeepAliveTime(), TimeUnit.SECONDS);
tomcatExecutor.setCorePoolSize(threadPoolParameterInfo.getCoreSize());
tomcatExecutor.setMaximumPoolSize(threadPoolParameterInfo.getMaxSize());
tomcatExecutor.setKeepAliveTime(threadPoolParameterInfo.getKeepAliveTime(), TimeUnit.SECONDS);
log.info(
"[TOMCAT] Changed web thread pool. " +
"\n coreSize :: [{}]" +
"\n maxSize :: [{}]" +
"\n keepAliveTime :: [{}]",
String.format(CHANGE_DELIMITER, originalCoreSize, poolParameterInfo.getCoreSize()),
String.format(CHANGE_DELIMITER, originalMaximumPoolSize, poolParameterInfo.getMaxSize()),
String.format(CHANGE_DELIMITER, originalKeepAliveTime, poolParameterInfo.getKeepAliveTime()));
String.format(CHANGE_DELIMITER, originalCoreSize, threadPoolParameterInfo.getCoreSize()),
String.format(CHANGE_DELIMITER, originalMaximumPoolSize, threadPoolParameterInfo.getMaxSize()),
String.format(CHANGE_DELIMITER, originalKeepAliveTime, threadPoolParameterInfo.getKeepAliveTime()));
} catch (Exception ex) {
log.error("Failed to modify the Tomcat thread pool parameter.", ex);
}

@ -17,10 +17,10 @@
package cn.hippo4j.core.executor.web;
import cn.hippo4j.common.model.PoolBaseInfo;
import cn.hippo4j.common.model.PoolParameter;
import cn.hippo4j.common.model.PoolParameterInfo;
import cn.hippo4j.common.model.PoolRunStateInfo;
import cn.hippo4j.common.model.ThreadPoolBaseInfo;
import cn.hippo4j.common.model.ThreadPoolParameter;
import cn.hippo4j.common.model.ThreadPoolParameterInfo;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import cn.hippo4j.core.executor.DynamicThreadPoolExecutor;
import cn.hippo4j.core.toolkit.CalculateUtil;
import cn.hutool.core.date.DateUtil;
@ -63,8 +63,8 @@ public class UndertowWebThreadPoolHandler extends AbstractWebThreadPoolService {
}
@Override
public PoolBaseInfo simpleInfo() {
PoolBaseInfo poolBaseInfo = new PoolBaseInfo();
public ThreadPoolBaseInfo simpleInfo() {
ThreadPoolBaseInfo poolBaseInfo = new ThreadPoolBaseInfo();
XnioWorker xnioWorker = (XnioWorker) executor;
try {
int coreSize = xnioWorker.getOption(Options.WORKER_TASK_CORE_THREADS);
@ -83,10 +83,10 @@ public class UndertowWebThreadPoolHandler extends AbstractWebThreadPoolService {
}
@Override
public PoolParameter getWebThreadPoolParameter() {
PoolParameterInfo parameterInfo = null;
public ThreadPoolParameter getWebThreadPoolParameter() {
ThreadPoolParameterInfo parameterInfo = null;
try {
parameterInfo = new PoolParameterInfo();
parameterInfo = new ThreadPoolParameterInfo();
XnioWorker xnioWorker = (XnioWorker) executor;
int minThreads = xnioWorker.getOption(Options.WORKER_TASK_CORE_THREADS);
int maxThreads = xnioWorker.getOption(Options.WORKER_TASK_MAX_THREADS);
@ -102,8 +102,8 @@ public class UndertowWebThreadPoolHandler extends AbstractWebThreadPoolService {
}
@Override
public PoolRunStateInfo getWebRunStateInfo() {
PoolRunStateInfo stateInfo = new PoolRunStateInfo();
public ThreadPoolRunStateInfo getWebRunStateInfo() {
ThreadPoolRunStateInfo stateInfo = new ThreadPoolRunStateInfo();
XnioWorker xnioWorker = (XnioWorker) executor;
Field field = ReflectionUtils.findField(XnioWorker.class, "taskPool");
@ -149,12 +149,12 @@ public class UndertowWebThreadPoolHandler extends AbstractWebThreadPoolService {
}
@Override
public void updateWebThreadPool(PoolParameterInfo poolParameterInfo) {
public void updateWebThreadPool(ThreadPoolParameterInfo threadPoolParameterInfo) {
try {
XnioWorker xnioWorker = (XnioWorker) executor;
Integer coreSize = poolParameterInfo.getCoreSize();
Integer maxSize = poolParameterInfo.getMaxSize();
Integer keepAliveTime = poolParameterInfo.getKeepAliveTime();
Integer coreSize = threadPoolParameterInfo.getCoreSize();
Integer maxSize = threadPoolParameterInfo.getMaxSize();
Integer keepAliveTime = threadPoolParameterInfo.getKeepAliveTime();
int originalCoreSize = xnioWorker.getOption(Options.WORKER_TASK_CORE_THREADS);
int originalMaximumPoolSize = xnioWorker.getOption(Options.WORKER_TASK_MAX_THREADS);
int originalKeepAliveTime = xnioWorker.getOption(Options.WORKER_TASK_KEEPALIVE);

@ -17,7 +17,7 @@
package cn.hippo4j.core.executor.web;
import cn.hippo4j.common.model.PoolRunStateInfo;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import cn.hippo4j.common.toolkit.ByteConvertUtil;
import cn.hippo4j.core.executor.state.AbstractThreadPoolRuntime;
import cn.hutool.core.util.StrUtil;
@ -34,8 +34,7 @@ import lombok.extern.slf4j.Slf4j;
public class WebThreadPoolRunStateHandler extends AbstractThreadPoolRuntime {
@Override
protected PoolRunStateInfo supplement(PoolRunStateInfo poolRunStateInfo) {
// 内存占比: 使用内存 / 最大内存
protected ThreadPoolRunStateInfo supplement(ThreadPoolRunStateInfo poolRunStateInfo) {
RuntimeInfo runtimeInfo = new RuntimeInfo();
String memoryProportion = StrUtil.builder(
"已分配: ",

@ -17,10 +17,10 @@
package cn.hippo4j.core.executor.web;
import cn.hippo4j.common.model.PoolBaseInfo;
import cn.hippo4j.common.model.PoolParameter;
import cn.hippo4j.common.model.PoolParameterInfo;
import cn.hippo4j.common.model.PoolRunStateInfo;
import cn.hippo4j.common.model.ThreadPoolBaseInfo;
import cn.hippo4j.common.model.ThreadPoolParameter;
import cn.hippo4j.common.model.ThreadPoolParameterInfo;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import java.util.concurrent.Executor;
@ -44,26 +44,26 @@ public interface WebThreadPoolService {
*
* @return
*/
PoolBaseInfo simpleInfo();
ThreadPoolBaseInfo simpleInfo();
/**
* Get web thread pool parameter.
*
* @return
*/
PoolParameter getWebThreadPoolParameter();
ThreadPoolParameter getWebThreadPoolParameter();
/**
* Get web run state info.
*
* @return
*/
PoolRunStateInfo getWebRunStateInfo();
ThreadPoolRunStateInfo getWebRunStateInfo();
/**
* Update web thread pool.
*
* @param poolParameterInfo
* @param threadPoolParameterInfo
*/
void updateWebThreadPool(PoolParameterInfo poolParameterInfo);
void updateWebThreadPool(ThreadPoolParameterInfo threadPoolParameterInfo);
}

@ -17,7 +17,7 @@
package cn.hippo4j.core.springboot.starter.monitor;
import cn.hippo4j.common.model.PoolRunStateInfo;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import cn.hippo4j.core.executor.manage.GlobalThreadPoolManage;
import cn.hippo4j.core.executor.state.ThreadPoolRunStateHandler;
import lombok.RequiredArgsConstructor;
@ -40,13 +40,13 @@ public abstract class AbstractDynamicThreadPoolMonitor implements DynamicThreadP
*
* @param poolRunStateInfo
*/
protected abstract void execute(PoolRunStateInfo poolRunStateInfo);
protected abstract void execute(ThreadPoolRunStateInfo poolRunStateInfo);
@Override
public void collect() {
List<String> listDynamicThreadPoolId = GlobalThreadPoolManage.listThreadPoolId();
for (String each : listDynamicThreadPoolId) {
PoolRunStateInfo poolRunState = threadPoolRunStateHandler.getPoolRunState(each);
ThreadPoolRunStateInfo poolRunState = threadPoolRunStateHandler.getPoolRunState(each);
execute(poolRunState);
}
}

@ -17,7 +17,7 @@
package cn.hippo4j.core.springboot.starter.monitor;
import cn.hippo4j.common.model.PoolRunStateInfo;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import cn.hippo4j.common.toolkit.JSONUtil;
import cn.hippo4j.core.executor.state.ThreadPoolRunStateHandler;
import lombok.extern.slf4j.Slf4j;
@ -36,7 +36,7 @@ public class LogMonitorHandler extends AbstractDynamicThreadPoolMonitor {
}
@Override
protected void execute(PoolRunStateInfo poolRunStateInfo) {
protected void execute(ThreadPoolRunStateInfo poolRunStateInfo) {
log.info("{}", JSONUtil.toJSONString(poolRunStateInfo));
}

@ -18,7 +18,7 @@
package cn.hippo4j.core.springboot.starter.monitor;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.common.model.PoolRunStateInfo;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import cn.hippo4j.core.executor.state.ThreadPoolRunStateHandler;
import cn.hutool.core.bean.BeanUtil;
import com.google.common.collect.Lists;
@ -43,15 +43,15 @@ public class MetricMonitorHandler extends AbstractDynamicThreadPoolMonitor {
private final static String APPLICATION_NAME_TAG = "application.name";
private final Map<String, PoolRunStateInfo> RUN_STATE_CACHE = Maps.newConcurrentMap();
private final Map<String, ThreadPoolRunStateInfo> RUN_STATE_CACHE = Maps.newConcurrentMap();
public MetricMonitorHandler(ThreadPoolRunStateHandler threadPoolRunStateHandler) {
super(threadPoolRunStateHandler);
}
@Override
protected void execute(PoolRunStateInfo poolRunStateInfo) {
PoolRunStateInfo stateInfo = RUN_STATE_CACHE.get(poolRunStateInfo.getTpId());
protected void execute(ThreadPoolRunStateInfo poolRunStateInfo) {
ThreadPoolRunStateInfo stateInfo = RUN_STATE_CACHE.get(poolRunStateInfo.getTpId());
if (stateInfo == null) {
RUN_STATE_CACHE.put(poolRunStateInfo.getTpId(), poolRunStateInfo);
} else {
@ -65,21 +65,21 @@ public class MetricMonitorHandler extends AbstractDynamicThreadPoolMonitor {
Tag.of(APPLICATION_NAME_TAG, applicationName));
// load
Metrics.gauge(metricName("current.load"), tags, poolRunStateInfo, PoolRunStateInfo::getSimpleCurrentLoad);
Metrics.gauge(metricName("peak.load"), tags, poolRunStateInfo, PoolRunStateInfo::getSimplePeakLoad);
Metrics.gauge(metricName("current.load"), tags, poolRunStateInfo, ThreadPoolRunStateInfo::getSimpleCurrentLoad);
Metrics.gauge(metricName("peak.load"), tags, poolRunStateInfo, ThreadPoolRunStateInfo::getSimplePeakLoad);
// thread pool
Metrics.gauge(metricName("core.size"), tags, poolRunStateInfo, PoolRunStateInfo::getCoreSize);
Metrics.gauge(metricName("maximum.size"), tags, poolRunStateInfo, PoolRunStateInfo::getMaximumSize);
Metrics.gauge(metricName("current.size"), tags, poolRunStateInfo, PoolRunStateInfo::getPoolSize);
Metrics.gauge(metricName("largest.size"), tags, poolRunStateInfo, PoolRunStateInfo::getLargestPoolSize);
Metrics.gauge(metricName("active.size"), tags, poolRunStateInfo, PoolRunStateInfo::getActiveSize);
Metrics.gauge(metricName("core.size"), tags, poolRunStateInfo, ThreadPoolRunStateInfo::getCoreSize);
Metrics.gauge(metricName("maximum.size"), tags, poolRunStateInfo, ThreadPoolRunStateInfo::getMaximumSize);
Metrics.gauge(metricName("current.size"), tags, poolRunStateInfo, ThreadPoolRunStateInfo::getPoolSize);
Metrics.gauge(metricName("largest.size"), tags, poolRunStateInfo, ThreadPoolRunStateInfo::getLargestPoolSize);
Metrics.gauge(metricName("active.size"), tags, poolRunStateInfo, ThreadPoolRunStateInfo::getActiveSize);
// queue
Metrics.gauge(metricName("queue.size"), tags, poolRunStateInfo, PoolRunStateInfo::getQueueSize);
Metrics.gauge(metricName("queue.capacity"), tags, poolRunStateInfo, PoolRunStateInfo::getQueueCapacity);
Metrics.gauge(metricName("queue.remaining.capacity"), tags, poolRunStateInfo, PoolRunStateInfo::getQueueRemainingCapacity);
Metrics.gauge(metricName("queue.size"), tags, poolRunStateInfo, ThreadPoolRunStateInfo::getQueueSize);
Metrics.gauge(metricName("queue.capacity"), tags, poolRunStateInfo, ThreadPoolRunStateInfo::getQueueCapacity);
Metrics.gauge(metricName("queue.remaining.capacity"), tags, poolRunStateInfo, ThreadPoolRunStateInfo::getQueueRemainingCapacity);
// other
Metrics.gauge(metricName("completed.task.count"), tags, poolRunStateInfo, PoolRunStateInfo::getCompletedTaskCount);
Metrics.gauge(metricName("reject.count"), tags, poolRunStateInfo, PoolRunStateInfo::getRejectCount);
Metrics.gauge(metricName("completed.task.count"), tags, poolRunStateInfo, ThreadPoolRunStateInfo::getCompletedTaskCount);
Metrics.gauge(metricName("reject.count"), tags, poolRunStateInfo, ThreadPoolRunStateInfo::getRejectCount);
}
private String metricName(String name) {

@ -19,8 +19,8 @@ package cn.hippo4j.core.springboot.starter.refresher;
import cn.hippo4j.common.api.ThreadPoolDynamicRefresh;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.common.model.PoolParameter;
import cn.hippo4j.common.model.PoolParameterInfo;
import cn.hippo4j.common.model.ThreadPoolParameter;
import cn.hippo4j.common.model.ThreadPoolParameterInfo;
import cn.hippo4j.common.notify.HippoBaseSendMessageService;
import cn.hippo4j.common.notify.NotifyConfigDTO;
import cn.hippo4j.common.notify.ThreadPoolNotifyAlarm;
@ -121,11 +121,11 @@ public abstract class AbstractCoreThreadPoolDynamicRefresh implements ThreadPool
return;
}
try {
PoolParameterInfo nowParameter = buildWebPoolParameter(bindableCoreProperties);
ThreadPoolParameterInfo nowParameter = buildWebPoolParameter(bindableCoreProperties);
if (nowParameter != null) {
WebThreadPoolHandlerChoose webThreadPoolHandlerChoose = ApplicationContextHolder.getBean(WebThreadPoolHandlerChoose.class);
WebThreadPoolService webThreadPoolService = webThreadPoolHandlerChoose.choose();
PoolParameter beforeParameter = webThreadPoolService.getWebThreadPoolParameter();
ThreadPoolParameter beforeParameter = webThreadPoolService.getWebThreadPoolParameter();
if (!Objects.equals(beforeParameter.getCoreSize(), nowParameter.getCoreSize())
|| !Objects.equals(beforeParameter.getMaxSize(), nowParameter.getMaxSize())
|| !Objects.equals(beforeParameter.getKeepAliveTime(), nowParameter.getKeepAliveTime())) {
@ -305,8 +305,8 @@ public abstract class AbstractCoreThreadPoolDynamicRefresh implements ThreadPool
* @param bindableCoreProperties
* @return
*/
private PoolParameterInfo buildWebPoolParameter(BootstrapCoreProperties bindableCoreProperties) {
PoolParameterInfo parameterInfo = null;
private ThreadPoolParameterInfo buildWebPoolParameter(BootstrapCoreProperties bindableCoreProperties) {
ThreadPoolParameterInfo parameterInfo = null;
WebThreadPoolProperties poolProperties = null;
if (bindableCoreProperties.getTomcat() != null) {
poolProperties = bindableCoreProperties.getTomcat();
@ -316,7 +316,7 @@ public abstract class AbstractCoreThreadPoolDynamicRefresh implements ThreadPool
poolProperties = bindableCoreProperties.getJetty();
}
if (poolProperties != null) {
parameterInfo = new PoolParameterInfo();
parameterInfo = new ThreadPoolParameterInfo();
parameterInfo.setCoreSize(poolProperties.getCorePoolSize());
parameterInfo.setMaxSize(poolProperties.getMaximumPoolSize());
parameterInfo.setKeepAliveTime(poolProperties.getKeepAliveTime());

@ -18,7 +18,7 @@
package cn.hippo4j.springboot.starter.controller;
import cn.hippo4j.common.api.ThreadDetailState;
import cn.hippo4j.common.model.PoolRunStateInfo;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import cn.hippo4j.common.model.ThreadDetailStateInfo;
import cn.hippo4j.common.web.base.Result;
import cn.hippo4j.common.web.base.Results;
@ -47,8 +47,8 @@ public class PoolRunStateController {
private final ThreadDetailState threadDetailState;
@GetMapping("/run/state/{threadPoolId}")
public Result<PoolRunStateInfo> getPoolRunState(@PathVariable("threadPoolId") String threadPoolId) {
PoolRunStateInfo poolRunState = threadPoolRunStateHandler.getPoolRunState(threadPoolId);
public Result<ThreadPoolRunStateInfo> getPoolRunState(@PathVariable("threadPoolId") String threadPoolId) {
ThreadPoolRunStateInfo poolRunState = threadPoolRunStateHandler.getPoolRunState(threadPoolId);
return Results.success(poolRunState);
}

@ -17,9 +17,9 @@
package cn.hippo4j.springboot.starter.controller;
import cn.hippo4j.common.model.PoolBaseInfo;
import cn.hippo4j.common.model.PoolParameterInfo;
import cn.hippo4j.common.model.PoolRunStateInfo;
import cn.hippo4j.common.model.ThreadPoolBaseInfo;
import cn.hippo4j.common.model.ThreadPoolParameterInfo;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import cn.hippo4j.common.web.base.Result;
import cn.hippo4j.common.web.base.Results;
import cn.hippo4j.core.executor.web.WebThreadPoolHandlerChoose;
@ -42,20 +42,20 @@ public class WebThreadPoolController {
private final WebThreadPoolHandlerChoose webThreadPoolServiceChoose;
@GetMapping("/web/base/info")
public Result<PoolBaseInfo> getPoolBaseState() {
PoolBaseInfo poolBaseInfo = webThreadPoolServiceChoose.choose().simpleInfo();
public Result<ThreadPoolBaseInfo> getPoolBaseState() {
ThreadPoolBaseInfo poolBaseInfo = webThreadPoolServiceChoose.choose().simpleInfo();
return Results.success(poolBaseInfo);
}
@GetMapping("/web/run/state")
public Result<PoolRunStateInfo> getPoolRunState() {
PoolRunStateInfo poolRunState = webThreadPoolServiceChoose.choose().getWebRunStateInfo();
public Result<ThreadPoolRunStateInfo> getPoolRunState() {
ThreadPoolRunStateInfo poolRunState = webThreadPoolServiceChoose.choose().getWebRunStateInfo();
return Results.success(poolRunState);
}
@PostMapping("/web/update/pool")
public Result<Void> updateWebThreadPool(@RequestBody PoolParameterInfo poolParameterInfo) {
webThreadPoolServiceChoose.choose().updateWebThreadPool(poolParameterInfo);
public Result<Void> updateWebThreadPool(@RequestBody ThreadPoolParameterInfo threadPoolParameterInfo) {
webThreadPoolServiceChoose.choose().updateWebThreadPool(threadPoolParameterInfo);
return Results.success();
}
}

@ -17,7 +17,7 @@
package cn.hippo4j.springboot.starter.core;
import cn.hippo4j.common.model.PoolParameterInfo;
import cn.hippo4j.common.model.ThreadPoolParameterInfo;
import cn.hippo4j.common.toolkit.ContentUtil;
import cn.hippo4j.common.toolkit.GroupKey;
import cn.hippo4j.common.toolkit.JSONUtil;
@ -119,7 +119,7 @@ public class ClientWorker {
try {
String content = getServerConfig(namespace, itemId, tpId, 3000L);
CacheData cacheData = cacheMap.get(tpId);
String poolContent = ContentUtil.getPoolContent(JSONUtil.parseObject(content, PoolParameterInfo.class));
String poolContent = ContentUtil.getPoolContent(JSONUtil.parseObject(content, ThreadPoolParameterInfo.class));
cacheData.setContent(poolContent);
} catch (Exception ex) {
// ignore
@ -243,7 +243,7 @@ public class ClientWorker {
String serverConfig;
try {
serverConfig = getServerConfig(namespace, itemId, tpId, 3000L);
PoolParameterInfo poolInfo = JSONUtil.parseObject(serverConfig, PoolParameterInfo.class);
ThreadPoolParameterInfo poolInfo = JSONUtil.parseObject(serverConfig, ThreadPoolParameterInfo.class);
cacheData.setContent(ContentUtil.getPoolContent(poolInfo));
} catch (Exception ex) {
log.error("Cache Data Error. Service Unavailable :: {}", ex.getMessage());

@ -20,7 +20,7 @@ package cn.hippo4j.springboot.starter.core;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.common.enums.EnableEnum;
import cn.hippo4j.common.model.PoolParameterInfo;
import cn.hippo4j.common.model.ThreadPoolParameterInfo;
import cn.hippo4j.common.notify.ThreadPoolNotifyAlarm;
import cn.hippo4j.common.toolkit.JSONUtil;
import cn.hippo4j.common.web.base.Result;
@ -140,12 +140,12 @@ public final class DynamicThreadPoolPostProcessor implements BeanPostProcessor {
Result result;
boolean isSubscribe = false;
ThreadPoolExecutor newDynamicPoolExecutor = null;
PoolParameterInfo ppi = new PoolParameterInfo();
ThreadPoolParameterInfo ppi = new ThreadPoolParameterInfo();
try {
result = httpAgent.httpGetByConfig(Constants.CONFIG_CONTROLLER_PATH, null, queryStrMap, 5000L);
if (result.isSuccess() && result.getData() != null) {
String resultJsonStr = JSONUtil.toJSONString(result.getData());
if ((ppi = JSONUtil.parseObject(resultJsonStr, PoolParameterInfo.class)) != null) {
if ((ppi = JSONUtil.parseObject(resultJsonStr, ThreadPoolParameterInfo.class)) != null) {
// Create a thread pool with relevant parameters.
BlockingQueue workQueue = QueueTypeEnum.createBlockingQueue(ppi.getQueueType(), ppi.getCapacity());
newDynamicPoolExecutor = ThreadPoolBuilder.builder()

@ -18,8 +18,8 @@
package cn.hippo4j.springboot.starter.core;
import cn.hippo4j.common.enums.EnableEnum;
import cn.hippo4j.common.model.PoolParameter;
import cn.hippo4j.common.model.PoolParameterInfo;
import cn.hippo4j.common.model.ThreadPoolParameter;
import cn.hippo4j.common.model.ThreadPoolParameterInfo;
import cn.hippo4j.common.notify.request.ChangeParameterNotifyRequest;
import cn.hippo4j.common.toolkit.JSONUtil;
import cn.hippo4j.core.executor.DynamicThreadPoolExecutor;
@ -57,7 +57,7 @@ public class ServerThreadPoolDynamicRefresh implements ThreadPoolDynamicRefresh
@Override
public void dynamicRefresh(String content) {
PoolParameterInfo parameter = JSONUtil.parseObject(content, PoolParameterInfo.class);
ThreadPoolParameterInfo parameter = JSONUtil.parseObject(content, ThreadPoolParameterInfo.class);
String threadPoolId = parameter.getTpId();
ThreadPoolExecutor executor = GlobalThreadPoolManage.getExecutorService(threadPoolId).getExecutor();
@ -71,7 +71,7 @@ public class ServerThreadPoolDynamicRefresh implements ThreadPoolDynamicRefresh
* @param parameter
* @param executor
*/
public void refreshDynamicPool(PoolParameter parameter, ThreadPoolExecutor executor) {
public void refreshDynamicPool(ThreadPoolParameter parameter, ThreadPoolExecutor executor) {
String threadPoolId = parameter.getTpId();
int originalCoreSize = executor.getCorePoolSize();
int originalMaximumPoolSize = executor.getMaximumPoolSize();
@ -129,7 +129,7 @@ public class ServerThreadPoolDynamicRefresh implements ThreadPoolDynamicRefresh
* @param executor
* @param parameter
*/
public void changePoolInfo(ThreadPoolExecutor executor, PoolParameter parameter) {
public void changePoolInfo(ThreadPoolExecutor executor, ThreadPoolParameter parameter) {
if (parameter.getCoreSize() != null && parameter.getMaxSize() != null) {
if (parameter.getMaxSize() < executor.getMaximumPoolSize()) {
executor.setCorePoolSize(parameter.getCoreSize());

@ -17,7 +17,7 @@
package cn.hippo4j.springboot.starter.monitor.collect;
import cn.hippo4j.common.model.PoolRunStateInfo;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import cn.hippo4j.common.monitor.AbstractMessage;
import cn.hippo4j.common.monitor.Message;
import cn.hippo4j.common.monitor.MessageTypeEnum;
@ -50,7 +50,7 @@ public class RunTimeInfoCollector extends AbstractThreadPoolRuntime implements C
List<Message> runtimeMessages = Lists.newArrayList();
List<String> listThreadPoolId = GlobalThreadPoolManage.listThreadPoolId();
for (String each : listThreadPoolId) {
PoolRunStateInfo poolRunState = getPoolRunState(each);
ThreadPoolRunStateInfo poolRunState = getPoolRunState(each);
RuntimeMessage runtimeMessage = BeanUtil.toBean(poolRunState, RuntimeMessage.class);
runtimeMessage.setGroupKey(getThreadPoolIdentify(each, properties.getItemId(), properties.getNamespace()));
runtimeMessages.add(runtimeMessage);
@ -61,7 +61,7 @@ public class RunTimeInfoCollector extends AbstractThreadPoolRuntime implements C
}
@Override
protected PoolRunStateInfo supplement(PoolRunStateInfo basePoolRunStateInfo) {
return basePoolRunStateInfo;
protected ThreadPoolRunStateInfo supplement(ThreadPoolRunStateInfo threadPoolRunStateInfo) {
return threadPoolRunStateInfo;
}
}

Loading…
Cancel
Save