diff --git a/adapter/adapter-common/src/main/java/org/dromara/dynamictp/adapter/common/AbstractDtpAdapter.java b/adapter/adapter-common/src/main/java/org/dromara/dynamictp/adapter/common/AbstractDtpAdapter.java index 7afbaa441..7a2d0932b 100644 --- a/adapter/adapter-common/src/main/java/org/dromara/dynamictp/adapter/common/AbstractDtpAdapter.java +++ b/adapter/adapter-common/src/main/java/org/dromara/dynamictp/adapter/common/AbstractDtpAdapter.java @@ -41,7 +41,7 @@ import org.dromara.dynamictp.core.aware.AwareManager; import org.dromara.dynamictp.core.converter.ExecutorConverter; import org.dromara.dynamictp.core.notifier.manager.NoticeManager; -import org.dromara.dynamictp.core.support.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; import org.dromara.dynamictp.core.support.ExecutorWrapper; import org.dromara.dynamictp.core.support.proxy.ThreadPoolExecutorProxy; import org.dromara.dynamictp.core.support.task.wrapper.TaskWrapper; diff --git a/common/src/main/java/org/dromara/dynamictp/common/constant/DynamicTpConst.java b/common/src/main/java/org/dromara/dynamictp/common/constant/DynamicTpConst.java index 1ea2c48b4..847c529f7 100644 --- a/common/src/main/java/org/dromara/dynamictp/common/constant/DynamicTpConst.java +++ b/common/src/main/java/org/dromara/dynamictp/common/constant/DynamicTpConst.java @@ -44,8 +44,6 @@ private DynamicTpConst() { } public static final String UNKNOWN = "---"; - public static final String VALUE = "value"; - public static final String TRACE_ID = "traceId"; public static final String GLOBAL_CONFIG_PREFIX = MAIN_PROPERTIES_PREFIX + ".globalExecutorProps."; diff --git a/common/src/main/java/org/dromara/dynamictp/common/manager/ContextManager.java b/common/src/main/java/org/dromara/dynamictp/common/manager/ContextManager.java index b0e157cc2..2b99f9770 100644 --- a/common/src/main/java/org/dromara/dynamictp/common/manager/ContextManager.java +++ b/common/src/main/java/org/dromara/dynamictp/common/manager/ContextManager.java @@ -22,7 +22,7 @@ /** * Interface for managing context in the application. * Provides methods to access beans, set context, handle events, - * and retrieve environment properties and profiles. + * and retrieve environment properties. * * @author vzer200 * @since 1.2.0 @@ -73,25 +73,20 @@ public interface ContextManager { String getEnvironmentProperty(String key); /** - * Retrieves an environment property by its key, with a default value. + * Retrieves an environment property by its key in the specified environment. * * @param key the key of the property - * @param defaultValue the default value to return if the property is not found - * @return the value of the property, or the default value if not found - */ - String getEnvironmentProperty(String key, String defaultValue); - - /** - * Retrieves the active profiles. - * - * @return an array of active profile names + * @param environment the specified environment object + * @return the value of the property, or null if not found */ - String[] getActiveProfiles(); + String getEnvironmentProperty(String key, Object environment); /** - * Retrieves the default profiles. + * Retrieves an environment property by its key, with a default value. * - * @return an array of default profile names + * @param key the key of the property + * @param defaultValue the default value to return if the property is not found + * @return the value of the property, or the default value if not found */ - String[] getDefaultProfiles(); + String getEnvironmentProperty(String key, String defaultValue); } diff --git a/common/src/main/java/org/dromara/dynamictp/common/manager/ContextManagerHelper.java b/common/src/main/java/org/dromara/dynamictp/common/manager/ContextManagerHelper.java index 410dd881c..4ba0e34f7 100644 --- a/common/src/main/java/org/dromara/dynamictp/common/manager/ContextManagerHelper.java +++ b/common/src/main/java/org/dromara/dynamictp/common/manager/ContextManagerHelper.java @@ -17,57 +17,56 @@ package org.dromara.dynamictp.common.manager; +import lombok.extern.slf4j.Slf4j; import org.dromara.dynamictp.common.util.ExtensionServiceLoader; import java.util.Map; /** - * Helper class for accessing ContextManager and publishing events. + * Helper class for accessing ContextManager. * * @author vzer200 * @since 1.2.0 */ +@Slf4j public class ContextManagerHelper { - private static final ContextManager CONTEXT_MANAGER; + private static ContextManager contextManager; static { - CONTEXT_MANAGER = ExtensionServiceLoader.getFirst(ContextManager.class); - if (CONTEXT_MANAGER == null) { + contextManager = ExtensionServiceLoader.getFirst(ContextManager.class); + if (contextManager == null) { + contextManager = new NullContextManager(); throw new IllegalStateException("No ContextManager implementation found"); } } public static T getBean(Class clazz) { - return CONTEXT_MANAGER.getBean(clazz); + return contextManager.getBean(clazz); } public static T getBean(String name, Class clazz) { - return CONTEXT_MANAGER.getBean(name, clazz); + return contextManager.getBean(name, clazz); } public static Map getBeansOfType(Class clazz) { - return CONTEXT_MANAGER.getBeansOfType(clazz); + return contextManager.getBeansOfType(clazz); } public static Object getEnvironment() { - return CONTEXT_MANAGER.getEnvironment(); + return contextManager.getEnvironment(); } public static String getEnvironmentProperty(String key) { - return CONTEXT_MANAGER.getEnvironmentProperty(key); + return contextManager.getEnvironmentProperty(key); } - public static String getEnvironmentProperty(String key, String defaultValue) { - return CONTEXT_MANAGER.getEnvironmentProperty(key, defaultValue); - } - - public static String[] getActiveProfiles() { - return CONTEXT_MANAGER.getActiveProfiles(); + public static String getEnvironmentProperty(String key, Object environment) { + return contextManager.getEnvironmentProperty(key, environment); } - public static String[] getDefaultProfiles() { - return CONTEXT_MANAGER.getDefaultProfiles(); + public static String getEnvironmentProperty(String key, String defaultValue) { + return contextManager.getEnvironmentProperty(key, defaultValue); } } diff --git a/common/src/main/java/org/dromara/dynamictp/common/manager/NullContextManager.java b/common/src/main/java/org/dromara/dynamictp/common/manager/NullContextManager.java new file mode 100644 index 000000000..ec7e09f94 --- /dev/null +++ b/common/src/main/java/org/dromara/dynamictp/common/manager/NullContextManager.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.dromara.dynamictp.common.manager; + +import java.util.Map; + +/** + * NullContextManager related + * + * @author yanhom + * @since 1.2.0 + */ +public class NullContextManager implements ContextManager { + + @Override + public T getBean(Class clazz) { + throw new UnsupportedOperationException(); + } + + @Override + public T getBean(String name, Class clazz) { + throw new UnsupportedOperationException(); + } + + @Override + public Map getBeansOfType(Class clazz) { + throw new UnsupportedOperationException(); + } + + @Override + public Object getEnvironment() { + throw new UnsupportedOperationException(); + } + + @Override + public String getEnvironmentProperty(String key) { + throw new UnsupportedOperationException(); + } + + @Override + public String getEnvironmentProperty(String key, Object environment) { + throw new UnsupportedOperationException(); + } + + @Override + public String getEnvironmentProperty(String key, String defaultValue) { + throw new UnsupportedOperationException(); + } +} diff --git a/common/src/main/java/org/dromara/dynamictp/common/util/BeanCopierUtil.java b/common/src/main/java/org/dromara/dynamictp/common/util/BeanCopierUtil.java index df043f3c1..2ff58bae5 100644 --- a/common/src/main/java/org/dromara/dynamictp/common/util/BeanCopierUtil.java +++ b/common/src/main/java/org/dromara/dynamictp/common/util/BeanCopierUtil.java @@ -27,7 +27,7 @@ * BeanCopierUtils related * * @author vzer200 - * @since 1.1.8 + * @since 1.2.0 */ @UtilityClass public class BeanCopierUtil { diff --git a/common/src/main/java/org/dromara/dynamictp/common/util/CommonUtil.java b/common/src/main/java/org/dromara/dynamictp/common/util/CommonUtil.java index 4e25cbbb1..e72211457 100644 --- a/common/src/main/java/org/dromara/dynamictp/common/util/CommonUtil.java +++ b/common/src/main/java/org/dromara/dynamictp/common/util/CommonUtil.java @@ -56,19 +56,8 @@ private CommonUtil() { String env = DtpProperties.getInstance().getEnv(); if (StringUtils.isBlank(env)) { - // fix #I8SSGQ env = ContextManagerHelper.getEnvironmentProperty(APP_ENV_KEY); } - if (StringUtils.isBlank(env)) { - String[] profiles = ContextManagerHelper.getActiveProfiles(); - if (profiles.length < 1) { - profiles = ContextManagerHelper.getDefaultProfiles(); - } - if (profiles.length >= 1) { - env = profiles[0]; - } - } - String appName = ContextManagerHelper.getEnvironmentProperty(APP_NAME_KEY); String portStr = ContextManagerHelper.getEnvironmentProperty(APP_PORT_KEY); int port = StringUtils.isNotBlank(portStr) ? Integer.parseInt(portStr) : 0; diff --git a/common/src/main/java/org/dromara/dynamictp/common/util/DtpPropertiesBinderUtil.java b/common/src/main/java/org/dromara/dynamictp/common/util/DtpPropertiesBinderUtil.java index 281ce0dd3..fa1769558 100644 --- a/common/src/main/java/org/dromara/dynamictp/common/util/DtpPropertiesBinderUtil.java +++ b/common/src/main/java/org/dromara/dynamictp/common/util/DtpPropertiesBinderUtil.java @@ -45,7 +45,7 @@ * DtpPropertiesBinderUtil related * * @author yanhom - * @since 1.1.0 + * @since 1.1.9 */ @SuppressWarnings("unchecked") public final class DtpPropertiesBinderUtil { @@ -123,16 +123,7 @@ private static Object getProperty(String key, Object environment) { Map properties = (Map) environment; return properties.get(key); } else { - return ContextManagerHelper.getEnvironmentProperty(key); - } - } - - private static boolean contains(String key, Object environment) { - if (environment instanceof Map) { - Map properties = (Map) environment; - return properties.containsKey(key); - } else { - return StringUtils.isNotBlank(ContextManagerHelper.getEnvironmentProperty(key)); + return ContextManagerHelper.getEnvironmentProperty(key, environment); } } @@ -159,24 +150,24 @@ private static void setBasicField(Object source, Field field, Object executor, S } private static void setCollectionField(Object source, DtpExecutorProps globalExecutorProps, Object executor, String prefix) { - if (!contains(prefix + ".taskWrapperNames[0]", source) && + if (isNotContains(prefix + ".taskWrapperNames[0]", source) && CollectionUtils.isNotEmpty(globalExecutorProps.getTaskWrapperNames())) { ReflectUtil.setFieldValue(executor, "taskWrapperNames", globalExecutorProps.getTaskWrapperNames()); } - if (!contains(prefix + ".platformIds[0]", source) && + if (isNotContains(prefix + ".platformIds[0]", source) && CollectionUtils.isNotEmpty(globalExecutorProps.getPlatformIds())) { ReflectUtil.setFieldValue(executor, PLATFORM_IDS, globalExecutorProps.getPlatformIds()); } - if (!contains(prefix + ".notifyItems[0].type", source) && + if (isNotContains(prefix + ".notifyItems[0].type", source) && CollectionUtils.isNotEmpty(globalExecutorProps.getNotifyItems())) { ReflectUtil.setFieldValue(executor, NOTIFY_ITEMS, globalExecutorProps.getNotifyItems()); } - if (!contains(prefix + ".awareNames[0]", source) && + if (isNotContains(prefix + ".awareNames[0]", source) && CollectionUtils.isNotEmpty(globalExecutorProps.getAwareNames())) { ReflectUtil.setFieldValue(executor, AWARE_NAMES, globalExecutorProps.getAwareNames()); } try { - if (!contains(prefix + ".pluginNames[0]", source) && + if (isNotContains(prefix + ".pluginNames[0]", source) && CollectionUtils.isNotEmpty(globalExecutorProps.getPluginNames())) { ReflectUtil.setFieldValue(executor, PLUGIN_NAMES, globalExecutorProps.getPluginNames()); } @@ -184,4 +175,17 @@ private static void setCollectionField(Object source, DtpExecutorProps globalExe // ignore } } + + private static boolean isNotContains(String key, Object environment) { + return !contains(key, environment); + } + + private static boolean contains(String key, Object environment) { + if (environment instanceof Map) { + Map properties = (Map) environment; + return properties.containsKey(key); + } else { + return StringUtils.isNotBlank(ContextManagerHelper.getEnvironmentProperty(key, environment)); + } + } } diff --git a/core/src/main/java/org/dromara/dynamictp/core/DtpRegistry.java b/core/src/main/java/org/dromara/dynamictp/core/DtpRegistry.java index 9e6721f59..1f252a3db 100644 --- a/core/src/main/java/org/dromara/dynamictp/core/DtpRegistry.java +++ b/core/src/main/java/org/dromara/dynamictp/core/DtpRegistry.java @@ -42,7 +42,7 @@ import org.dromara.dynamictp.core.notifier.manager.NoticeManager; import org.dromara.dynamictp.core.notifier.manager.NotifyHelper; import org.dromara.dynamictp.core.reject.RejectHandlerGetter; -import org.dromara.dynamictp.core.support.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; import org.dromara.dynamictp.core.support.ExecutorWrapper; import org.dromara.dynamictp.core.support.task.wrapper.TaskWrapper; import org.dromara.dynamictp.core.support.task.wrapper.TaskWrappers; diff --git a/core/src/main/java/org/dromara/dynamictp/core/aware/TaskRejectAware.java b/core/src/main/java/org/dromara/dynamictp/core/aware/TaskRejectAware.java index d7c18b12d..ffb0af7b0 100644 --- a/core/src/main/java/org/dromara/dynamictp/core/aware/TaskRejectAware.java +++ b/core/src/main/java/org/dromara/dynamictp/core/aware/TaskRejectAware.java @@ -20,7 +20,7 @@ import cn.hutool.core.text.CharSequenceUtil; import lombok.extern.slf4j.Slf4j; import org.dromara.dynamictp.core.notifier.manager.AlarmManager; -import org.dromara.dynamictp.core.support.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; import org.dromara.dynamictp.core.support.ThreadPoolStatProvider; import org.slf4j.MDC; diff --git a/core/src/main/java/org/dromara/dynamictp/core/converter/ExecutorConverter.java b/core/src/main/java/org/dromara/dynamictp/core/converter/ExecutorConverter.java index c10dfb636..203ad803c 100644 --- a/core/src/main/java/org/dromara/dynamictp/core/converter/ExecutorConverter.java +++ b/core/src/main/java/org/dromara/dynamictp/core/converter/ExecutorConverter.java @@ -22,7 +22,7 @@ import org.dromara.dynamictp.common.entity.TpMainFields; import org.dromara.dynamictp.core.executor.DtpExecutor; import org.dromara.dynamictp.core.monitor.PerformanceProvider; -import org.dromara.dynamictp.core.support.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; import org.dromara.dynamictp.core.support.ExecutorWrapper; import org.dromara.dynamictp.core.support.ThreadPoolStatProvider; diff --git a/core/src/main/java/org/dromara/dynamictp/core/executor/DtpExecutor.java b/core/src/main/java/org/dromara/dynamictp/core/executor/DtpExecutor.java index 8981e0b60..25be905fa 100644 --- a/core/src/main/java/org/dromara/dynamictp/core/executor/DtpExecutor.java +++ b/core/src/main/java/org/dromara/dynamictp/core/executor/DtpExecutor.java @@ -28,7 +28,7 @@ import org.dromara.dynamictp.core.aware.TaskEnhanceAware; import org.dromara.dynamictp.core.notifier.manager.NotifyHelper; import org.dromara.dynamictp.core.reject.RejectHandlerGetter; -import org.dromara.dynamictp.core.support.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; import org.dromara.dynamictp.core.support.task.wrapper.TaskWrapper; import java.util.List; diff --git a/core/src/main/java/org/dromara/dynamictp/core/notifier/capture/CapturedBlockingQueue.java b/core/src/main/java/org/dromara/dynamictp/core/notifier/capture/CapturedBlockingQueue.java index 96fbb068b..dbfc71fe7 100644 --- a/core/src/main/java/org/dromara/dynamictp/core/notifier/capture/CapturedBlockingQueue.java +++ b/core/src/main/java/org/dromara/dynamictp/core/notifier/capture/CapturedBlockingQueue.java @@ -17,7 +17,7 @@ package org.dromara.dynamictp.core.notifier.capture; -import org.dromara.dynamictp.core.support.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; import java.util.AbstractQueue; import java.util.Collection; diff --git a/core/src/main/java/org/dromara/dynamictp/core/notifier/capture/CapturedExecutor.java b/core/src/main/java/org/dromara/dynamictp/core/notifier/capture/CapturedExecutor.java index d03b5d860..13a59e1aa 100644 --- a/core/src/main/java/org/dromara/dynamictp/core/notifier/capture/CapturedExecutor.java +++ b/core/src/main/java/org/dromara/dynamictp/core/notifier/capture/CapturedExecutor.java @@ -23,7 +23,7 @@ import org.dromara.dynamictp.core.notifier.AbstractDtpNotifier; import org.dromara.dynamictp.core.notifier.context.BaseNotifyCtx; import org.dromara.dynamictp.core.notifier.manager.AlarmManager; -import org.dromara.dynamictp.core.support.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; import java.util.concurrent.BlockingQueue; import java.util.concurrent.RejectedExecutionHandler; diff --git a/core/src/main/java/org/dromara/dynamictp/core/refresher/AbstractRefresher.java b/core/src/main/java/org/dromara/dynamictp/core/refresher/AbstractRefresher.java index 8e064ba2e..7896109c9 100644 --- a/core/src/main/java/org/dromara/dynamictp/core/refresher/AbstractRefresher.java +++ b/core/src/main/java/org/dromara/dynamictp/core/refresher/AbstractRefresher.java @@ -29,7 +29,6 @@ import org.dromara.dynamictp.core.handler.ConfigHandler; import org.dromara.dynamictp.core.support.binder.BinderHelper; - import java.io.IOException; import java.util.Map; import java.util.Objects; diff --git a/core/src/main/java/org/dromara/dynamictp/core/support/ExecutorWrapper.java b/core/src/main/java/org/dromara/dynamictp/core/support/ExecutorWrapper.java index 30d71e758..8e6cc5fc0 100644 --- a/core/src/main/java/org/dromara/dynamictp/core/support/ExecutorWrapper.java +++ b/core/src/main/java/org/dromara/dynamictp/core/support/ExecutorWrapper.java @@ -29,6 +29,8 @@ import org.dromara.dynamictp.core.notifier.manager.AlarmManager; import org.dromara.dynamictp.core.reject.RejectHandlerGetter; import org.dromara.dynamictp.core.support.proxy.VirtualThreadExecutorProxy; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ThreadPoolExecutorAdapter; import org.dromara.dynamictp.core.support.task.wrapper.TaskWrapper; import java.util.HashSet; diff --git a/core/src/main/java/org/dromara/dynamictp/core/support/ExecutorAdapter.java b/core/src/main/java/org/dromara/dynamictp/core/support/adapter/ExecutorAdapter.java similarity index 99% rename from core/src/main/java/org/dromara/dynamictp/core/support/ExecutorAdapter.java rename to core/src/main/java/org/dromara/dynamictp/core/support/adapter/ExecutorAdapter.java index abd12ff56..cca52fc26 100644 --- a/core/src/main/java/org/dromara/dynamictp/core/support/ExecutorAdapter.java +++ b/core/src/main/java/org/dromara/dynamictp/core/support/adapter/ExecutorAdapter.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.dromara.dynamictp.core.support; +package org.dromara.dynamictp.core.support.adapter; import java.util.AbstractQueue; import java.util.Collection; diff --git a/core/src/main/java/org/dromara/dynamictp/core/support/ThreadPoolExecutorAdapter.java b/core/src/main/java/org/dromara/dynamictp/core/support/adapter/ThreadPoolExecutorAdapter.java similarity index 98% rename from core/src/main/java/org/dromara/dynamictp/core/support/ThreadPoolExecutorAdapter.java rename to core/src/main/java/org/dromara/dynamictp/core/support/adapter/ThreadPoolExecutorAdapter.java index ec540d700..de6f1e0f2 100644 --- a/core/src/main/java/org/dromara/dynamictp/core/support/ThreadPoolExecutorAdapter.java +++ b/core/src/main/java/org/dromara/dynamictp/core/support/adapter/ThreadPoolExecutorAdapter.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.dromara.dynamictp.core.support; +package org.dromara.dynamictp.core.support.adapter; import org.dromara.dynamictp.core.aware.RejectHandlerAware; diff --git a/core/src/main/java/org/dromara/dynamictp/core/timer/QueueTimeoutTimerTask.java b/core/src/main/java/org/dromara/dynamictp/core/timer/QueueTimeoutTimerTask.java index 2a20626c6..2bbb82a3c 100644 --- a/core/src/main/java/org/dromara/dynamictp/core/timer/QueueTimeoutTimerTask.java +++ b/core/src/main/java/org/dromara/dynamictp/core/timer/QueueTimeoutTimerTask.java @@ -21,7 +21,7 @@ import lombok.extern.slf4j.Slf4j; import lombok.val; import org.dromara.dynamictp.core.notifier.manager.AlarmManager; -import org.dromara.dynamictp.core.support.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; import org.dromara.dynamictp.core.support.ExecutorWrapper; import static org.dromara.dynamictp.common.em.NotifyItemEnum.QUEUE_TIMEOUT; diff --git a/core/src/main/java/org/dromara/dynamictp/core/timer/RunTimeoutTimerTask.java b/core/src/main/java/org/dromara/dynamictp/core/timer/RunTimeoutTimerTask.java index 70d759bce..3bf958a38 100644 --- a/core/src/main/java/org/dromara/dynamictp/core/timer/RunTimeoutTimerTask.java +++ b/core/src/main/java/org/dromara/dynamictp/core/timer/RunTimeoutTimerTask.java @@ -21,7 +21,7 @@ import lombok.extern.slf4j.Slf4j; import lombok.val; import org.dromara.dynamictp.core.notifier.manager.AlarmManager; -import org.dromara.dynamictp.core.support.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; import org.dromara.dynamictp.core.support.ExecutorWrapper; import static org.dromara.dynamictp.common.em.NotifyItemEnum.RUN_TIMEOUT; diff --git a/spring/src/main/java/org/dromara/dynamictp/spring/holder/SpringContextHolder.java b/spring/src/main/java/org/dromara/dynamictp/spring/holder/SpringContextHolder.java index 1ec62b7a4..6a7caf9d9 100644 --- a/spring/src/main/java/org/dromara/dynamictp/spring/holder/SpringContextHolder.java +++ b/spring/src/main/java/org/dromara/dynamictp/spring/holder/SpringContextHolder.java @@ -74,17 +74,16 @@ public String getEnvironmentProperty(String key) { } @Override - public String getEnvironmentProperty(String key, String defaultValue) { - return getInstance().getEnvironment().getProperty(key, defaultValue); - } - - @Override - public String[] getActiveProfiles() { - return getInstance().getEnvironment().getActiveProfiles(); + public String getEnvironmentProperty(String key, Object environment) { + if (environment instanceof Environment) { + Environment env = (Environment) environment; + return env.getProperty(key); + } + return null; } @Override - public String[] getDefaultProfiles() { - return getInstance().getEnvironment().getDefaultProfiles(); + public String getEnvironmentProperty(String key, String defaultValue) { + return getInstance().getEnvironment().getProperty(key, defaultValue); } } diff --git a/spring/src/main/java/org/dromara/dynamictp/spring/initializer/SpringDtpInitializer.java b/spring/src/main/java/org/dromara/dynamictp/spring/initializer/SpringDtpInitializer.java index 770742492..423ecd06e 100644 --- a/spring/src/main/java/org/dromara/dynamictp/spring/initializer/SpringDtpInitializer.java +++ b/spring/src/main/java/org/dromara/dynamictp/spring/initializer/SpringDtpInitializer.java @@ -17,6 +17,7 @@ package org.dromara.dynamictp.spring.initializer; +import org.apache.commons.lang3.StringUtils; import org.dromara.dynamictp.core.support.init.DtpInitializer; import org.springframework.context.ConfigurableApplicationContext; @@ -34,6 +35,10 @@ public class SpringDtpInitializer implements DtpInitializer { private static final String SPRING_APP_NAME_KEY = "spring.application.name"; + private static final String SERVER_PORT = "server.port"; + + private static final String ACTIVE_PROFILES = "spring.profiles.active"; + @Override public String getName() { return "SpringDtpInitializer"; @@ -43,8 +48,21 @@ public String getName() { public void init(Object... args) { ConfigurableApplicationContext c = (ConfigurableApplicationContext) args[0]; String appName = c.getEnvironment().getProperty(SPRING_APP_NAME_KEY, "application"); - String appPort = c.getEnvironment().getProperty("server.port", "0"); - String appEnv = c.getEnvironment().getProperty("spring.profiles.active", "unknown"); + String appPort = c.getEnvironment().getProperty(SERVER_PORT, "0"); + String appEnv = c.getEnvironment().getProperty(ACTIVE_PROFILES); + if (StringUtils.isBlank(appEnv)) { + // fix #I8SSGQ + String[] profiles = c.getEnvironment().getActiveProfiles(); + if (profiles.length < 1) { + profiles = c.getEnvironment().getDefaultProfiles(); + } + if (profiles.length >= 1) { + appEnv = profiles[0]; + } + } + if (StringUtils.isBlank(appEnv)) { + appEnv = "unknown"; + } System.setProperty(APP_NAME_KEY, appName); System.setProperty(APP_PORT_KEY, appPort); System.setProperty(APP_ENV_KEY, appEnv); diff --git a/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/jetty/JettyDtpAdapter.java b/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/jetty/JettyDtpAdapter.java index e8cef06e0..6957f947d 100644 --- a/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/jetty/JettyDtpAdapter.java +++ b/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/jetty/JettyDtpAdapter.java @@ -20,7 +20,7 @@ import lombok.extern.slf4j.Slf4j; import org.dromara.dynamictp.common.properties.DtpProperties; import org.dromara.dynamictp.common.util.ReflectionUtil; -import org.dromara.dynamictp.core.support.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; import org.dromara.dynamictp.core.support.ExecutorWrapper; import org.dromara.dynamictp.starter.adapter.webserver.AbstractWebServerDtpAdapter; import org.eclipse.jetty.io.ManagedSelector; diff --git a/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/tomcat/TomcatDtpAdapter.java b/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/tomcat/TomcatDtpAdapter.java index 7c56e3840..49ba8e7cd 100644 --- a/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/tomcat/TomcatDtpAdapter.java +++ b/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/tomcat/TomcatDtpAdapter.java @@ -23,7 +23,7 @@ import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.dromara.dynamictp.common.properties.DtpProperties; import org.dromara.dynamictp.core.aware.RejectHandlerAware; -import org.dromara.dynamictp.core.support.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; import org.dromara.dynamictp.starter.adapter.webserver.AbstractWebServerDtpAdapter; import org.springframework.boot.web.embedded.tomcat.TomcatWebServer; import org.springframework.boot.web.server.WebServer; diff --git a/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/EnhancedQueueExecutorTaskPoolAdapter.java b/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/EnhancedQueueExecutorTaskPoolAdapter.java index 315fe86f7..33b0ce646 100644 --- a/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/EnhancedQueueExecutorTaskPoolAdapter.java +++ b/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/EnhancedQueueExecutorTaskPoolAdapter.java @@ -17,7 +17,7 @@ package org.dromara.dynamictp.starter.adapter.webserver.undertow.taskpool; -import org.dromara.dynamictp.core.support.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; import org.dromara.dynamictp.starter.adapter.webserver.undertow.UndertowTaskPoolEnum; import org.jboss.threads.EnhancedQueueExecutor; diff --git a/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/ExecutorServiceTaskPoolAdapter.java b/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/ExecutorServiceTaskPoolAdapter.java index fe0071440..2bcedbc9e 100644 --- a/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/ExecutorServiceTaskPoolAdapter.java +++ b/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/ExecutorServiceTaskPoolAdapter.java @@ -18,8 +18,8 @@ package org.dromara.dynamictp.starter.adapter.webserver.undertow.taskpool; import org.dromara.dynamictp.starter.adapter.webserver.undertow.UndertowTaskPoolEnum; -import org.dromara.dynamictp.core.support.ExecutorAdapter; -import org.dromara.dynamictp.core.support.ThreadPoolExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ThreadPoolExecutorAdapter; import java.util.concurrent.ThreadPoolExecutor; diff --git a/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/ExternalTaskPoolAdapter.java b/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/ExternalTaskPoolAdapter.java index 813ccdcd3..ff7ceb949 100644 --- a/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/ExternalTaskPoolAdapter.java +++ b/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/ExternalTaskPoolAdapter.java @@ -20,7 +20,7 @@ import org.dromara.dynamictp.starter.adapter.webserver.undertow.TaskPoolHandlerFactory; import org.dromara.dynamictp.starter.adapter.webserver.undertow.UndertowTaskPoolEnum; import org.dromara.dynamictp.common.util.ReflectionUtil; -import org.dromara.dynamictp.core.support.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; import lombok.val; /** diff --git a/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/TaskPoolAdapter.java b/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/TaskPoolAdapter.java index f2d4a8f7f..0daa05ad7 100644 --- a/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/TaskPoolAdapter.java +++ b/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/TaskPoolAdapter.java @@ -18,7 +18,7 @@ package org.dromara.dynamictp.starter.adapter.webserver.undertow.taskpool; import org.dromara.dynamictp.starter.adapter.webserver.undertow.UndertowTaskPoolEnum; -import org.dromara.dynamictp.core.support.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; import java.util.concurrent.Executor; diff --git a/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/ThreadPoolExecutorTaskPoolAdapter.java b/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/ThreadPoolExecutorTaskPoolAdapter.java index b3bc10f57..6d28dde27 100644 --- a/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/ThreadPoolExecutorTaskPoolAdapter.java +++ b/starter/starter-adapter/starter-adapter-webserver/src/main/java/org/dromara/dynamictp/starter/adapter/webserver/undertow/taskpool/ThreadPoolExecutorTaskPoolAdapter.java @@ -18,8 +18,8 @@ package org.dromara.dynamictp.starter.adapter.webserver.undertow.taskpool; import org.dromara.dynamictp.starter.adapter.webserver.undertow.UndertowTaskPoolEnum; -import org.dromara.dynamictp.core.support.ExecutorAdapter; -import org.dromara.dynamictp.core.support.ThreadPoolExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ThreadPoolExecutorAdapter; import java.util.concurrent.ThreadPoolExecutor; diff --git a/test/test-core/src/test/java/org/dromara/dynamictp/test/core/notify/capture/CapturedExecutorTest.java b/test/test-core/src/test/java/org/dromara/dynamictp/test/core/notify/capture/CapturedExecutorTest.java index 01adf134e..98606227c 100644 --- a/test/test-core/src/test/java/org/dromara/dynamictp/test/core/notify/capture/CapturedExecutorTest.java +++ b/test/test-core/src/test/java/org/dromara/dynamictp/test/core/notify/capture/CapturedExecutorTest.java @@ -18,10 +18,10 @@ package org.dromara.dynamictp.test.core.notify.capture; import org.dromara.dynamictp.core.notifier.capture.CapturedExecutor; -import org.dromara.dynamictp.core.support.ExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ExecutorAdapter; import org.dromara.dynamictp.core.support.ThreadPoolBuilder; import org.dromara.dynamictp.core.support.ThreadPoolCreator; -import org.dromara.dynamictp.core.support.ThreadPoolExecutorAdapter; +import org.dromara.dynamictp.core.support.adapter.ThreadPoolExecutorAdapter; import org.dromara.dynamictp.core.executor.DtpExecutor; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; diff --git a/test/test-extension/test-extension-limiter-redis/src/test/java/org/dromara/dynamictp/test/extension/limiter/redis/RedisRateLimiterTest.java b/test/test-extension/test-extension-limiter-redis/src/test/java/org/dromara/dynamictp/test/extension/limiter/redis/RedisRateLimiterTest.java index c4e0adeb3..540517476 100644 --- a/test/test-extension/test-extension-limiter-redis/src/test/java/org/dromara/dynamictp/test/extension/limiter/redis/RedisRateLimiterTest.java +++ b/test/test-extension/test-extension-limiter-redis/src/test/java/org/dromara/dynamictp/test/extension/limiter/redis/RedisRateLimiterTest.java @@ -17,6 +17,7 @@ package org.dromara.dynamictp.test.extension.limiter.redis; +import jakarta.annotation.Resource; import lombok.val; import org.dromara.dynamictp.extension.limiter.redis.ratelimiter.RedisRateLimiter; import org.dromara.dynamictp.spring.annotation.EnableDynamicTp; @@ -26,7 +27,6 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit.jupiter.SpringExtension; -import javax.annotation.Resource; import java.util.List; import java.util.concurrent.TimeUnit;