Public module removes spring dependency (#1293)

pull/1294/head
magestack 1 year ago committed by GitHub
parent ea19be3cb8
commit a33a376cbb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -17,7 +17,7 @@
package cn.hippo4j.example.core.handler;
import cn.hippo4j.common.api.ClientNetworkService;
import cn.hippo4j.core.api.ClientNetworkService;
import org.springframework.core.env.ConfigurableEnvironment;
/**

@ -14,14 +14,24 @@
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
</dependency>
<dependency>
<groupId>com.github.dozermapper</groupId>
<artifactId>dozer-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!-- Unit test start -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
@ -37,22 +47,11 @@
<artifactId>mockito-inline</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
</dependency>
<dependency>
<groupId>com.github.dozermapper</groupId>
<artifactId>dozer-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<scope>test</scope>
</dependency>
<!-- Unit test end -->
</dependencies>
</project>

@ -28,9 +28,9 @@ public interface ClientCloseHookExecute {
/**
* Client close hook function execution.
*
* @param req
* @param requestParam
*/
void closeHook(ClientCloseHookReq req);
void closeHook(ClientCloseHookReq requestParam);
/**
* Client close hook req.

@ -17,7 +17,7 @@
package cn.hippo4j.common.executor.support;
import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import lombok.Getter;
import java.util.Collection;

@ -17,12 +17,10 @@
package cn.hippo4j.common.executor.support;
import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import lombok.Getter;
import java.util.Collection;
import java.util.Objects;
import java.util.Optional;
import java.util.*;
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.stream.Stream;

@ -15,7 +15,7 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.support;
package cn.hippo4j.common.extension.spi;
/**
* Service loader instantiation exception.

@ -15,9 +15,7 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.support;
import cn.hippo4j.common.extension.annotation.SingletonSPI;
package cn.hippo4j.common.extension.spi;
import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
@ -31,7 +29,6 @@ import java.util.stream.Collectors;
/**
* Dynamic thread-pool SPI service loader.
*/
@Deprecated
public class ServiceLoaderRegistry {
/**

@ -15,7 +15,7 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.annotation;
package cn.hippo4j.common.extension.spi;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@ -27,6 +27,5 @@ import java.lang.annotation.Target;
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Deprecated
public @interface SingletonSPI {
}

@ -17,9 +17,6 @@
package cn.hippo4j.common.toolkit;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.Collection;
import java.util.Map;
@ -65,7 +62,7 @@ public class Assert {
}
public static void notEmpty(Collection<?> collection, String message) {
if (CollectionUtils.isEmpty(collection)) {
if (CollectionUtil.isEmpty(collection)) {
throw new IllegalArgumentException(message);
}
}
@ -76,7 +73,7 @@ public class Assert {
}
public static void notEmpty(Map<?, ?> map, String message) {
if (CollectionUtils.isEmpty(map)) {
if (CollectionUtil.isEmpty(map)) {
throw new IllegalArgumentException(message);
}
}
@ -86,13 +83,13 @@ public class Assert {
}
public static void notEmpty(String str, String message) {
if (StringUtils.isEmpty(str)) {
if (StringUtil.isEmpty(str)) {
throw new IllegalArgumentException(message);
}
}
public static void notEmpty(String str) {
if (StringUtils.isEmpty(str)) {
if (StringUtil.isEmpty(str)) {
notEmpty(str, "[Assertion failed] - this string must not be empty");
}
}
@ -108,7 +105,7 @@ public class Assert {
}
public static void hasText(String text, String message) {
if (!StringUtils.hasText(text)) {
if (!StringUtil.hasText(text)) {
throw new IllegalArgumentException(message);
}
}

@ -18,7 +18,6 @@
package cn.hippo4j.common.toolkit;
import cn.hippo4j.common.constant.Constants;
import org.springframework.util.StringUtils;
import static cn.hippo4j.common.constant.Constants.GROUP_KEY_DELIMITER;
@ -55,7 +54,7 @@ public class GroupKey {
urlEncode(dataId, sb);
sb.append(GROUP_KEY_DELIMITER);
urlEncode(group, sb);
if (!StringUtils.isEmpty(datumStr)) {
if (!StringUtil.isEmpty(datumStr)) {
sb.append(GROUP_KEY_DELIMITER);
urlEncode(datumStr, sb);
}

@ -20,7 +20,6 @@ package cn.hippo4j.common.toolkit;
import cn.hippo4j.common.web.exception.IllegalException;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.springframework.cglib.core.ReflectUtils;
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Field;
@ -308,17 +307,20 @@ public class ReflectUtil {
}
/**
*
* @param clazz
* @param methodName
* @param parameterTypes
* @return
*/
public static Method findDeclaredMethod(Class clazz, String methodName, Class[] parameterTypes) {
try {
return ReflectUtils.findDeclaredMethod(clazz, methodName, parameterTypes);
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
public static Method findDeclaredMethod(Class clazz, String methodName, Class[] parameterTypes) throws NoSuchMethodException {
Class cl = clazz;
while (cl != null) {
try {
return cl.getDeclaredMethod(methodName, parameterTypes);
} catch (NoSuchMethodException e) {
cl = cl.getSuperclass();
}
}
throw new NoSuchMethodException(methodName);
}
}

@ -362,4 +362,30 @@ public class StringUtil {
}
return str.substring(0, pos);
}
/**
* Determine whether it is a string.
*
* @param str string
* @return String returns true, non-string returns false
*/
public static boolean hasText(String str) {
return (str != null && !str.isEmpty() && containsText(str));
}
/**
* Whether to contain a string.
*
* @param str str
* @return String returns true, non-string returns false
*/
private static boolean containsText(CharSequence str) {
int strLen = str.length();
for (int i = 0; i < strLen; i++) {
if (!Character.isWhitespace(str.charAt(i))) {
return true;
}
}
return false;
}
}

@ -1 +1 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=cn.hippo4j.common.extension.support.ExtensionAutoConfiguration
org.springframework.boot.autoconfigure.EnableAutoConfiguration=cn.hippo4j.core.extension.support.ExtensionAutoConfiguration

@ -18,7 +18,7 @@
package cn.hippo4j.springboot.starter.adapter.alibaba.dubbo;
import cn.hippo4j.adapter.alibaba.dubbo.AlibabaDubboThreadPoolAdapter;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;

@ -18,7 +18,7 @@
package cn.hippo4j.springboot.starter.adapter.dubbo;
import cn.hippo4j.adapter.dubbo.DubboThreadPoolAdapter;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;

@ -19,7 +19,7 @@ package cn.hippo4j.springboot.starter.adapter.dubbo;
import cn.hippo4j.adapter.dubbo.DubboThreadPoolAdapter;
import cn.hippo4j.adapter.dubbo.DubboxThreadPoolAdapter;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;

@ -20,7 +20,7 @@ package cn.hippo4j.springboot.starter.adapter.hystrix;
import cn.hippo4j.adapter.hystrix.HystrixThreadPoolAdapter4Config;
import cn.hippo4j.adapter.hystrix.HystrixThreadPoolAdapter4Server;
import cn.hippo4j.adapter.hystrix.ThreadPoolAdapterScheduler;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;

@ -18,7 +18,7 @@
package cn.hippo4j.springboot.starter.adapter.kafka;
import cn.hippo4j.adapter.kafka.KafkaThreadPoolAdapter;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;

@ -20,7 +20,7 @@ package cn.hippo4j.springboot.starter.adapter.rabbitmq;
import java.util.Map;
import cn.hippo4j.adapter.rabbitmq.RabbitMQThreadPoolAdapter;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.RequiredArgsConstructor;
import org.springframework.amqp.rabbit.connection.AbstractConnectionFactory;

@ -18,7 +18,7 @@
package cn.hippo4j.springboot.starter.adapter.rocketmq;
import cn.hippo4j.adapter.rocketmq.RocketMQThreadPoolAdapter;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;

@ -18,7 +18,7 @@
package cn.hippo4j.springboot.starter.adapter.springcloud.stream.rabbitmq;
import cn.hippo4j.adapter.springcloud.stream.rabbitmq.SpringCloudStreamRabbitMQThreadPoolAdapter;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;

@ -18,7 +18,7 @@
package cn.hippo4j.springboot.starter.adapter.springcloud.stream.rocketmq;
import cn.hippo4j.adapter.springcloud.stream.rocketmq.SpringCloudStreamRocketMQThreadPoolAdapter;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;

@ -19,7 +19,7 @@ package cn.hippo4j.springboot.starter.adapter.web;
import cn.hippo4j.adapter.web.WebThreadPoolHandlerChoose;
import cn.hippo4j.adapter.web.WebThreadPoolRunStateHandler;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.core.executor.state.ThreadPoolRunStateHandler;
import cn.hippo4j.core.toolkit.inet.InetUtils;
import lombok.RequiredArgsConstructor;

@ -19,7 +19,7 @@ package cn.hippo4j.config.springboot1x.starter.web;
import cn.hippo4j.adapter.web.AbstractWebThreadPoolService;
import cn.hippo4j.adapter.web.IWebThreadPoolHandlerSupport;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.embedded.EmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedWebApplicationContext;

@ -18,8 +18,8 @@
package cn.hippo4j.config.springboot.starter.config;
import cn.hippo4j.adapter.web.WebThreadPoolService;
import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.StringUtil;
import cn.hippo4j.config.springboot.starter.monitor.ThreadPoolMonitorExecutor;
import cn.hippo4j.config.springboot.starter.notify.ConfigModeNotifyConfigBuilder;

@ -25,9 +25,9 @@ import java.util.Optional;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.design.builder.ThreadFactoryBuilder;
import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import cn.hippo4j.common.toolkit.StringUtil;
import cn.hippo4j.config.springboot.starter.config.BootstrapConfigProperties;
import cn.hippo4j.config.springboot.starter.config.MonitorProperties;

@ -18,7 +18,7 @@
package cn.hippo4j.config.springboot.starter.refresher;
import cn.hippo4j.common.api.ThreadPoolDynamicRefresh;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.config.springboot.starter.config.BootstrapConfigProperties;
import cn.hippo4j.config.springboot.starter.parser.ConfigParserHandler;

@ -17,7 +17,7 @@
package cn.hippo4j.config.springboot.starter.refresher;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import com.alibaba.cloud.nacos.NacosConfigProperties;
import com.alibaba.nacos.api.config.ConfigService;
import com.alibaba.nacos.api.config.listener.Listener;

@ -20,7 +20,7 @@ package cn.hippo4j.config.springboot.starter.refresher.event;
import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterParameter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.BeanUtil;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.config.springboot.starter.config.AdapterExecutorProperties;

@ -17,7 +17,7 @@
package cn.hippo4j.config.springboot.starter.refresher.event;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.config.springboot.starter.config.BootstrapConfigProperties;
import cn.hippo4j.common.config.ExecutorProperties;
import cn.hippo4j.config.springboot.starter.notify.ConfigModeNotifyConfigBuilder;

@ -20,7 +20,7 @@ package cn.hippo4j.config.springboot.starter.refresher.event;
import cn.hippo4j.adapter.web.WebThreadPoolHandlerChoose;
import cn.hippo4j.adapter.web.WebThreadPoolService;
import cn.hippo4j.common.api.ThreadPoolConfigChange;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.model.ThreadPoolParameter;
import cn.hippo4j.common.model.ThreadPoolParameterInfo;
import cn.hippo4j.config.springboot.starter.config.BootstrapConfigProperties;

@ -17,7 +17,7 @@
package cn.hippo4j.config.springboot.starter.support;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.common.executor.support.BlockingQueueTypeEnum;
import cn.hippo4j.common.executor.support.RejectedPolicyTypeEnum;

@ -20,10 +20,10 @@ package cn.hippo4j.springboot.starter.config;
import cn.hippo4j.adapter.base.ThreadPoolAdapterBeanContainer;
import cn.hippo4j.adapter.web.WebThreadPoolHandlerChoose;
import cn.hippo4j.common.api.ThreadDetailState;
import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
import cn.hippo4j.common.api.ThreadPoolConfigChange;
import cn.hippo4j.common.api.ThreadPoolDynamicRefresh;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.core.config.UtilAutoConfiguration;
import cn.hippo4j.core.enable.MarkerConfiguration;

@ -20,8 +20,8 @@ package cn.hippo4j.springboot.starter.controller;
import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterParameter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
import cn.hippo4j.common.api.ClientNetworkService;
import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
import cn.hippo4j.core.api.ClientNetworkService;
import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import cn.hippo4j.common.toolkit.StringUtil;
import cn.hippo4j.common.web.base.Result;
import cn.hippo4j.common.web.base.Results;

@ -18,7 +18,7 @@
package cn.hippo4j.springboot.starter.core;
import cn.hippo4j.common.api.ClientCloseHookExecute;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.common.model.InstanceInfo;
import cn.hippo4j.common.web.base.Result;

@ -21,7 +21,7 @@ import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterCacheConfig;
import cn.hippo4j.adapter.base.ThreadPoolAdapterRegisterAction;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.common.web.base.Result;
import cn.hippo4j.core.toolkit.IdentifyUtil;

@ -17,10 +17,10 @@
package cn.hippo4j.springboot.starter.monitor;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.design.builder.ThreadFactoryBuilder;
import cn.hippo4j.common.monitor.Message;
import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.common.toolkit.StringUtil;
import cn.hippo4j.common.toolkit.ThreadUtil;

@ -17,9 +17,9 @@
package cn.hippo4j.springboot.starter.provider;
import cn.hippo4j.common.api.ClientNetworkService;
import cn.hippo4j.core.api.ClientNetworkService;
import cn.hippo4j.common.model.InstanceInfo;
import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import cn.hippo4j.common.toolkit.ContentUtil;
import cn.hippo4j.core.toolkit.IdentifyUtil;
import cn.hippo4j.core.toolkit.inet.InetUtils;

@ -17,7 +17,7 @@
package cn.hippo4j.springboot.starter.remote;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.common.design.builder.ThreadFactoryBuilder;
import cn.hippo4j.common.toolkit.StringUtil;

@ -17,7 +17,7 @@
package cn.hippo4j.springboot.starter.support;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.common.enums.EnableEnum;
import cn.hippo4j.common.executor.support.BlockingQueueTypeEnum;

@ -12,7 +12,7 @@
<dependencies>
<dependency>
<groupId>cn.hippo4j</groupId>
<artifactId>hippo4j-threadpool-infra-common</artifactId>
<artifactId>hippo4j-threadpool-core</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>

@ -17,7 +17,7 @@
package cn.hippo4j.adapter.base;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.beans.factory.InitializingBean;
import java.util.Map;

@ -21,7 +21,7 @@ import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterCacheConfig;
import cn.hippo4j.adapter.base.ThreadPoolAdapterRegisterAction;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.event.ApplicationStartedEvent;

@ -20,8 +20,9 @@ package cn.hippo4j.adapter.kafka;
import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterParameter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.ReflectUtil;
import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.event.ApplicationStartedEvent;
import org.springframework.cglib.core.Constants;
@ -147,6 +148,7 @@ public class KafkaThreadPoolAdapter implements ThreadPoolAdapter, ApplicationLis
* @return true success
* @since org.springframework.kafka.listener.ConcurrentMessageListenerContainer#doStart()
*/
@SneakyThrows
private static boolean addConsumer(String threadPoolKey, ConcurrentMessageListenerContainer concurrentContainer, int originalCoreSize, Integer concurrency) {
ContainerProperties containerProperties = concurrentContainer.getContainerProperties();
TopicPartitionOffset[] topicPartitions = containerProperties.getTopicPartitions();

@ -20,9 +20,9 @@ package cn.hippo4j.adapter.rocketmq;
import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterParameter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.ReflectUtil;
import cn.hippo4j.common.toolkit.ThreadPoolExecutorUtil;
import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.apache.rocketmq.client.impl.consumer.ConsumeMessageService;

@ -20,9 +20,9 @@ package cn.hippo4j.adapter.springcloud.stream.rabbitmq;
import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterParameter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.common.toolkit.ReflectUtil;
import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer;
import org.springframework.amqp.rabbit.listener.DirectMessageListenerContainer;

@ -20,10 +20,10 @@ package cn.hippo4j.adapter.springcloud.stream.rocketmq;
import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterParameter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.common.toolkit.ReflectUtil;
import cn.hippo4j.common.toolkit.ThreadPoolExecutorUtil;
import cn.hippo4j.core.config.ApplicationContextHolder;
import com.alibaba.cloud.stream.binder.rocketmq.consuming.RocketMQListenerBindingContainer;
import com.alibaba.cloud.stream.binder.rocketmq.integration.RocketMQInboundChannelAdapter;
import lombok.extern.slf4j.Slf4j;

@ -17,7 +17,7 @@
package cn.hippo4j.adapter.web;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.web.context.WebServerApplicationContext;
import org.springframework.boot.web.server.WebServer;

@ -17,7 +17,7 @@
package cn.hippo4j.adapter.web;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.model.WebIpAndPortInfo;
import cn.hippo4j.common.toolkit.Assert;
import cn.hippo4j.common.toolkit.StringUtil;

@ -17,7 +17,7 @@
package cn.hippo4j.adapter.web;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.web.exception.ServiceException;
import lombok.extern.slf4j.Slf4j;

@ -15,6 +15,10 @@
<artifactId>hippo4j-threadpool-infra-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>

@ -15,7 +15,7 @@
* limitations under the License.
*/
package cn.hippo4j.common.api;
package cn.hippo4j.core.api;
import org.springframework.core.env.ConfigurableEnvironment;

@ -15,7 +15,7 @@
* limitations under the License.
*/
package cn.hippo4j.common.api;
package cn.hippo4j.core.api;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;

@ -15,7 +15,7 @@
* limitations under the License.
*/
package cn.hippo4j.common.config;
package cn.hippo4j.core.config;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;

@ -17,7 +17,7 @@
package cn.hippo4j.core.executor.manage;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.model.ThreadPoolParameter;
import cn.hippo4j.common.model.register.DynamicThreadPoolRegisterWrapper;
import cn.hippo4j.core.executor.DynamicThreadPoolWrapper;

@ -17,7 +17,7 @@
package cn.hippo4j.core.executor.support.adpter;
import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.core.executor.DynamicThreadPoolExecutor;
import cn.hippo4j.core.executor.support.spi.DynamicThreadPoolAdapterSPI;

@ -15,7 +15,7 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension;
package cn.hippo4j.core.extension;
/**
* Top level interface of extension-point.

@ -15,7 +15,7 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension;
package cn.hippo4j.core.extension;
/**
* Top level interface of extension-point request obj.

@ -15,7 +15,7 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.annotation;
package cn.hippo4j.core.extension.annotation;
import org.springframework.stereotype.Component;

@ -15,11 +15,11 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.config;
package cn.hippo4j.core.extension.config;
import cn.hippo4j.common.extension.IExtension;
import cn.hippo4j.common.extension.annotation.Realization;
import cn.hippo4j.common.extension.support.ExtensionRegistry;
import cn.hippo4j.core.extension.IExtension;
import cn.hippo4j.core.extension.annotation.Realization;
import cn.hippo4j.core.extension.support.ExtensionRegistry;
import org.springframework.aop.scope.ScopedProxyUtils;
import org.springframework.beans.BeansException;
import org.springframework.boot.ApplicationArguments;

@ -15,10 +15,10 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.reducer;
package cn.hippo4j.core.extension.reducer;
import cn.hippo4j.common.extension.IExtension;
import cn.hippo4j.common.extension.support.ReduceType;
import cn.hippo4j.core.extension.IExtension;
import cn.hippo4j.core.extension.support.ReduceType;
import cn.hippo4j.common.toolkit.CollectionUtil;
import lombok.Getter;
import lombok.NonNull;

@ -15,10 +15,10 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.reducer;
package cn.hippo4j.core.extension.reducer;
import cn.hippo4j.common.extension.IExtension;
import cn.hippo4j.common.extension.support.ReduceType;
import cn.hippo4j.core.extension.IExtension;
import cn.hippo4j.core.extension.support.ReduceType;
import cn.hippo4j.common.toolkit.CollectionUtil;
import lombok.Getter;
import lombok.NonNull;

@ -15,10 +15,10 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.reducer;
package cn.hippo4j.core.extension.reducer;
import cn.hippo4j.common.extension.IExtension;
import cn.hippo4j.common.extension.support.ReduceType;
import cn.hippo4j.core.extension.IExtension;
import cn.hippo4j.core.extension.support.ReduceType;
import lombok.NonNull;
import java.util.Objects;

@ -15,9 +15,9 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.reducer;
package cn.hippo4j.core.extension.reducer;
import cn.hippo4j.common.extension.support.ReduceType;
import cn.hippo4j.core.extension.support.ReduceType;
import java.util.List;
import java.util.stream.Collectors;

@ -15,12 +15,12 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.reducer;
package cn.hippo4j.core.extension.reducer;
import cn.hippo4j.common.extension.IExtension;
import cn.hippo4j.common.extension.IExtensionRequest;
import cn.hippo4j.common.extension.support.ExtensionCallback;
import cn.hippo4j.common.extension.support.ReduceType;
import cn.hippo4j.core.extension.IExtension;
import cn.hippo4j.core.extension.IExtensionRequest;
import cn.hippo4j.core.extension.support.ExtensionCallback;
import cn.hippo4j.core.extension.support.ReduceType;
import lombok.Getter;
import lombok.Setter;

@ -15,7 +15,7 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.reducer;
package cn.hippo4j.core.extension.reducer;
import lombok.NonNull;

@ -15,9 +15,9 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.support;
package cn.hippo4j.core.extension.support;
import cn.hippo4j.common.extension.config.ExtensionRegisterBootstrap;
import cn.hippo4j.core.extension.config.ExtensionRegisterBootstrap;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@ -15,7 +15,7 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.support;
package cn.hippo4j.core.extension.support;
import java.util.function.Function;

@ -15,11 +15,12 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.support;
package cn.hippo4j.core.extension.support;
import cn.hippo4j.common.extension.IExtension;
import cn.hippo4j.common.extension.reducer.Reducer;
import cn.hippo4j.common.extension.reducer.Reducers;
import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import cn.hippo4j.core.extension.IExtension;
import cn.hippo4j.core.extension.reducer.Reducer;
import cn.hippo4j.core.extension.reducer.Reducers;
import cn.hippo4j.common.toolkit.Assert;
import cn.hippo4j.common.toolkit.CollectionUtil;

@ -15,10 +15,10 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.support;
package cn.hippo4j.core.extension.support;
import cn.hippo4j.common.extension.IExtension;
import cn.hippo4j.common.extension.annotation.Realization;
import cn.hippo4j.core.extension.IExtension;
import cn.hippo4j.core.extension.annotation.Realization;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.common.toolkit.logtracing.LogMessage;
import lombok.extern.slf4j.Slf4j;

@ -15,9 +15,9 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.support;
package cn.hippo4j.core.extension.support;
import cn.hippo4j.common.extension.IExtension;
import cn.hippo4j.core.extension.IExtension;
import java.util.List;

@ -15,7 +15,7 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.support;
package cn.hippo4j.core.extension.support;
public enum ReduceType {

@ -70,7 +70,7 @@ public class DynamicThreadPoolBannerHandler implements InitializingBean {
while (padding.length() < STRAP_LINE_SIZE - (bannerVersion.length() + DYNAMIC_THREAD_POOL.length())) {
padding.append(" ");
}
log.info(AnsiOutput.toString("\n", banner, AnsiColor.GREEN, DYNAMIC_THREAD_POOL, AnsiColor.DEFAULT,
System.out.println(AnsiOutput.toString(banner, AnsiColor.GREEN, DYNAMIC_THREAD_POOL, AnsiColor.DEFAULT,
padding.toString(), AnsiStyle.FAINT, bannerVersion, "\n\n", HIPPO4J_GITHUB, "\n", HIPPO4J_SITE, "\n"));
}

@ -17,8 +17,8 @@
package cn.hippo4j.core.plugin.impl;
import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.core.executor.ExtensibleThreadPoolExecutor;
import cn.hippo4j.core.plugin.RejectedAwarePlugin;
import lombok.NonNull;

@ -17,8 +17,8 @@
package cn.hippo4j.core.plugin.impl;
import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.core.plugin.PluginRuntime;
import lombok.AllArgsConstructor;
import lombok.Getter;

@ -17,8 +17,8 @@
package cn.hippo4j.core.proxy;
import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;

@ -17,7 +17,7 @@
package cn.hippo4j.core.toolkit;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;

@ -15,18 +15,13 @@
* limitations under the License.
*/
package cn.hippo4j.common.toolkit;
package cn.hippo4j.core.toolkit;
import cn.hippo4j.common.web.exception.IllegalException;
import lombok.SneakyThrows;
import org.springframework.core.io.ClassPathResource;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.*;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;

@ -17,9 +17,9 @@
package cn.hippo4j.core.toolkit;
import cn.hippo4j.common.api.ClientNetworkService;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
import cn.hippo4j.core.api.ClientNetworkService;
import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.common.toolkit.IdUtil;
import cn.hippo4j.common.toolkit.Joiner;

@ -15,19 +15,19 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension;
package cn.hippo4j.core.extension;
import cn.hippo4j.common.extension.anymatch.AnyMatchExtImplA;
import cn.hippo4j.common.extension.anymatch.AnyMatchExtImplB;
import cn.hippo4j.common.extension.anymatch.IAnyMatchExtension;
import cn.hippo4j.common.extension.firstof.FirstOfExtImplA;
import cn.hippo4j.common.extension.firstof.FirstOfExtImplB;
import cn.hippo4j.common.extension.firstof.IFirstOfExtension;
import cn.hippo4j.common.extension.reducer.Reducers;
import cn.hippo4j.common.extension.spi.IOldSpi;
import cn.hippo4j.common.extension.support.ExtensionInvoker;
import cn.hippo4j.common.extension.support.ExtensionRegistry;
import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import cn.hippo4j.core.extension.anymatch.AnyMatchExtImplA;
import cn.hippo4j.core.extension.anymatch.AnyMatchExtImplB;
import cn.hippo4j.core.extension.anymatch.IAnyMatchExtension;
import cn.hippo4j.core.extension.firstof.FirstOfExtImplA;
import cn.hippo4j.core.extension.firstof.FirstOfExtImplB;
import cn.hippo4j.core.extension.firstof.IFirstOfExtension;
import cn.hippo4j.core.extension.reducer.Reducers;
import cn.hippo4j.core.extension.spi.IOldSpi;
import cn.hippo4j.core.extension.support.ExtensionInvoker;
import cn.hippo4j.core.extension.support.ExtensionRegistry;
import org.assertj.core.util.Lists;
import org.junit.Before;
import org.junit.Test;
@ -50,6 +50,7 @@ public class ExtensionInvokerTest {
ServiceLoaderRegistry.register(IOldSpi.class);
}
@Test
public void test() {

@ -15,9 +15,9 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.anymatch;
package cn.hippo4j.core.extension.anymatch;
import cn.hippo4j.common.extension.annotation.Realization;
import cn.hippo4j.core.extension.annotation.Realization;
@Realization
public class AnyMatchExtImplA implements IAnyMatchExtension {

@ -15,9 +15,9 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.anymatch;
package cn.hippo4j.core.extension.anymatch;
import cn.hippo4j.common.extension.annotation.Realization;
import cn.hippo4j.core.extension.annotation.Realization;
@Realization
public class AnyMatchExtImplB implements IAnyMatchExtension {

@ -15,9 +15,9 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.anymatch;
package cn.hippo4j.core.extension.anymatch;
import cn.hippo4j.common.extension.IExtension;
import cn.hippo4j.core.extension.IExtension;
public interface IAnyMatchExtension extends IExtension {

@ -15,9 +15,9 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.firstof;
package cn.hippo4j.core.extension.firstof;
import cn.hippo4j.common.extension.annotation.Realization;
import cn.hippo4j.core.extension.annotation.Realization;
@Realization
public class FirstOfExtImplA implements IFirstOfExtension {

@ -15,9 +15,9 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.firstof;
package cn.hippo4j.core.extension.firstof;
import cn.hippo4j.common.extension.annotation.Realization;
import cn.hippo4j.core.extension.annotation.Realization;
@Realization
public class FirstOfExtImplB implements IFirstOfExtension {

@ -15,9 +15,9 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.firstof;
package cn.hippo4j.core.extension.firstof;
import cn.hippo4j.common.extension.IExtension;
import cn.hippo4j.core.extension.IExtension;
public interface IFirstOfExtension extends IExtension {

@ -15,9 +15,9 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.spi;
package cn.hippo4j.core.extension.spi;
import cn.hippo4j.common.extension.IExtension;
import cn.hippo4j.core.extension.IExtension;
public interface IOldSpi extends IExtension {

@ -15,7 +15,7 @@
* limitations under the License.
*/
package cn.hippo4j.common.extension.spi;
package cn.hippo4j.core.extension.spi;
public class IOldSpiImplA implements IOldSpi {

@ -17,7 +17,7 @@
package cn.hippo4j.core.plugin.impl;
import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
import cn.hippo4j.common.toolkit.ThreadUtil;
import cn.hippo4j.core.executor.ExtensibleThreadPoolExecutor;
import cn.hippo4j.core.plugin.manager.DefaultThreadPoolPluginManager;

@ -17,7 +17,7 @@
package cn.hippo4j.core.plugin.impl;
import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
import cn.hippo4j.common.toolkit.ThreadUtil;
import cn.hippo4j.core.executor.ExtensibleThreadPoolExecutor;
import cn.hippo4j.core.plugin.manager.DefaultThreadPoolPluginManager;

@ -17,8 +17,8 @@
package cn.hippo4j.core.proxy;
import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
import cn.hippo4j.core.config.ApplicationContextHolder;
import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;

@ -15,11 +15,11 @@
* limitations under the License.
*/
package cn.hippo4j.common.spi;
package cn.hippo4j.core.spi;
import java.util.Collection;
import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import org.junit.Test;
import static org.hamcrest.MatcherAssert.assertThat;

@ -15,7 +15,7 @@
* limitations under the License.
*/
package cn.hippo4j.common.spi;
package cn.hippo4j.core.spi;
import cn.hippo4j.common.executor.support.CustomBlockingQueue;

@ -15,9 +15,9 @@
* limitations under the License.
*/
package cn.hippo4j.common.spi;
package cn.hippo4j.core.spi;
import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
/**
* test {@link ServiceLoaderRegistry}

@ -15,9 +15,9 @@
* limitations under the License.
*/
package cn.hippo4j.common.spi;
package cn.hippo4j.core.spi;
import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
/**
* test {@link ServiceLoaderRegistry}

@ -15,10 +15,10 @@
* limitations under the License.
*/
package cn.hippo4j.common.spi;
package cn.hippo4j.core.spi;
import cn.hippo4j.common.extension.annotation.SingletonSPI;
import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import cn.hippo4j.common.extension.spi.SingletonSPI;
/**
* test {@link ServiceLoaderRegistry}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save