diff --git a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/interceptor/EventPublishingStartedInterceptor.java b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/interceptor/EventPublishingStartedInterceptor.java index b90f5ec2..d4362392 100644 --- a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/interceptor/EventPublishingStartedInterceptor.java +++ b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/interceptor/EventPublishingStartedInterceptor.java @@ -26,12 +26,9 @@ import cn.hippo4j.agent.plugin.spring.boot.v2.DynamicThreadPoolChangeHandlerSpri import cn.hippo4j.agent.plugin.spring.common.support.SpringPropertiesLoader; import cn.hippo4j.agent.plugin.spring.common.support.IDynamicThreadPoolChangeHandlerSpring; import cn.hippo4j.agent.plugin.spring.common.support.SpringThreadPoolRegisterSupport; -import cn.hippo4j.core.executor.DynamicThreadPool; -import cn.hippo4j.core.executor.SpringDynamicThreadPool; import org.springframework.context.ConfigurableApplicationContext; import java.lang.reflect.Method; -import java.util.Map; /** * Event publishing started interceptor diff --git a/examples/threadpool-example/config/config-apollo-spring-boot-1x/src/main/resources/apollo-config-agent.properties b/examples/threadpool-example/config/config-apollo-spring-boot-1x/src/main/resources/apollo-config-agent.properties new file mode 100644 index 00000000..fd5ef431 --- /dev/null +++ b/examples/threadpool-example/config/config-apollo-spring-boot-1x/src/main/resources/apollo-config-agent.properties @@ -0,0 +1,85 @@ +# Copy the following to the apollo configuration file + +spring.dynamic.thread-pool.web.core-pool-size=64 +spring.dynamic.thread-pool.web.maximum-pool-size=128 +spring.dynamic.thread-pool.web.keep-alive-time=1000 +spring.dynamic.thread-pool.web.enable=true +spring.dynamic.thread-pool.default-executor.core-pool-size=1 +spring.dynamic.thread-pool.default-executor.maximum-pool-size=2 +spring.dynamic.thread-pool.default-executor.blocking-queue=ResizableCapacityLinkedBlockingQueue +spring.dynamic.thread-pool.default-executor.execute-time-out=100 +spring.dynamic.thread-pool.default-executor.keep-alive-time=6691 +spring.dynamic.thread-pool.default-executor.queue-capacity=1 +spring.dynamic.thread-pool.default-executor.rejected-handler=AbortPolicy +spring.dynamic.thread-pool.default-executor.active-alarm=90 +spring.dynamic.thread-pool.default-executor.capacity-alarm=85 +spring.dynamic.thread-pool.default-executor.alarm=true +spring.dynamic.thread-pool.default-executor.allow-core-thread-time-out=true +spring.dynamic.thread-pool.default-executor.notify.interval=5 +spring.dynamic.thread-pool.default-executor.notify.receives=hippo4j +spring.dynamic.thread-pool.notify-platforms[0].platform=WECHAT +spring.dynamic.thread-pool.notify-platforms[0].secret-key=ec3be378-6c99-45d2-a147-b400c7e94a08 + +spring.dynamic.thread-pool.executors[0].thread-pool-id = cn.hippo4j.example.core.config.DynamicThreadPoolConfig#FIELD1 +spring.dynamic.thread-pool.executors[0].thread-name-prefix = DynamicThreadPoolConfig#FIELD1 +spring.dynamic.thread-pool.executors[0].core-pool-size = 2 +spring.dynamic.thread-pool.executors[0].maximum-pool-size = 50 +spring.dynamic.thread-pool.executors[0].queue-capacity = 1024 +spring.dynamic.thread-pool.executors[0].blocking-queue = ResizableCapacityLinkedBlockingQueue +spring.dynamic.thread-pool.executors[0].execute-time-out = 800 +spring.dynamic.thread-pool.executors[0].rejected-handler = AbortPolicy +spring.dynamic.thread-pool.executors[0].keep-alive-time = 6691 +spring.dynamic.thread-pool.executors[0].allow-core-thread-time-out = true +spring.dynamic.thread-pool.executors[0].alarm = true +spring.dynamic.thread-pool.executors[0].active-alarm = 80 +spring.dynamic.thread-pool.executors[0].capacity-alarm = 80 +spring.dynamic.thread-pool.executors[0].notify.interval = 8 +spring.dynamic.thread-pool.executors[0].notify.receives = hippo4j + +spring.dynamic.thread-pool.executors[1].thread-pool-id = cn.hippo4j.example.core.config.DynamicThreadPoolConfig#FIELD1 +spring.dynamic.thread-pool.executors[1].thread-name-prefix = DynamicThreadPoolConfig#FIELD2 +spring.dynamic.thread-pool.executors[1].core-pool-size = 2 +spring.dynamic.thread-pool.executors[1].maximum-pool-size = 50 +spring.dynamic.thread-pool.executors[1].queue-capacity = 1024 +spring.dynamic.thread-pool.executors[1].blocking-queue = ResizableCapacityLinkedBlockingQueue +spring.dynamic.thread-pool.executors[1].execute-time-out = 800 +spring.dynamic.thread-pool.executors[1].rejected-handler = AbortPolicy +spring.dynamic.thread-pool.executors[1].keep-alive-time = 6691 +spring.dynamic.thread-pool.executors[1].allow-core-thread-time-out = true +spring.dynamic.thread-pool.executors[1].alarm = true +spring.dynamic.thread-pool.executors[1].active-alarm = 80 +spring.dynamic.thread-pool.executors[1].capacity-alarm = 80 +spring.dynamic.thread-pool.executors[1].notify.interval = 8 +spring.dynamic.thread-pool.executors[1].notify.receives = hippo4j + +spring.dynamic.thread-pool.executors[2].thread-pool-id = messageConsumeTtlDynamicThreadPool +spring.dynamic.thread-pool.executors[2].thread-name-prefix = messageConsumeTtlDynamicThreadPool +spring.dynamic.thread-pool.executors[2].core-pool-size = 2 +spring.dynamic.thread-pool.executors[2].maximum-pool-size = 50 +spring.dynamic.thread-pool.executors[2].queue-capacity = 1024 +spring.dynamic.thread-pool.executors[2].blocking-queue = ResizableCapacityLinkedBlockingQueue +spring.dynamic.thread-pool.executors[2].execute-time-out = 800 +spring.dynamic.thread-pool.executors[2].rejected-handler = AbortPolicy +spring.dynamic.thread-pool.executors[2].keep-alive-time = 6691 +spring.dynamic.thread-pool.executors[2].allow-core-thread-time-out = true +spring.dynamic.thread-pool.executors[2].alarm = true +spring.dynamic.thread-pool.executors[2].active-alarm = 80 +spring.dynamic.thread-pool.executors[2].capacity-alarm = 80 +spring.dynamic.thread-pool.executors[2].notify.interval = 8 +spring.dynamic.thread-pool.executors[2].notify.receives = hippo4j + +spring.dynamic.thread-pool.executors[3].thread-pool-id = messageProduceDynamicThreadPool +spring.dynamic.thread-pool.executors[3].thread-name-prefix = messageProduceDynamicThreadPool +spring.dynamic.thread-pool.executors[3].core-pool-size = 2 +spring.dynamic.thread-pool.executors[3].maximum-pool-size = 50 +spring.dynamic.thread-pool.executors[3].queue-capacity = 1024 +spring.dynamic.thread-pool.executors[3].blocking-queue = ResizableCapacityLinkedBlockingQueue +spring.dynamic.thread-pool.executors[3].execute-time-out = 800 +spring.dynamic.thread-pool.executors[3].rejected-handler = AbortPolicy +spring.dynamic.thread-pool.executors[3].keep-alive-time = 6691 +spring.dynamic.thread-pool.executors[3].allow-core-thread-time-out = true +spring.dynamic.thread-pool.executors[3].alarm = true +spring.dynamic.thread-pool.executors[3].active-alarm = 80 +spring.dynamic.thread-pool.executors[3].capacity-alarm = 80 +spring.dynamic.thread-pool.executors[3].notify.interval = 8 +spring.dynamic.thread-pool.executors[3].notify.receives = hippo4j diff --git a/examples/threadpool-example/config/config-apollo/src/main/resources/apollo-config-agent.properties b/examples/threadpool-example/config/config-apollo/src/main/resources/apollo-config-agent.properties new file mode 100644 index 00000000..fd5ef431 --- /dev/null +++ b/examples/threadpool-example/config/config-apollo/src/main/resources/apollo-config-agent.properties @@ -0,0 +1,85 @@ +# Copy the following to the apollo configuration file + +spring.dynamic.thread-pool.web.core-pool-size=64 +spring.dynamic.thread-pool.web.maximum-pool-size=128 +spring.dynamic.thread-pool.web.keep-alive-time=1000 +spring.dynamic.thread-pool.web.enable=true +spring.dynamic.thread-pool.default-executor.core-pool-size=1 +spring.dynamic.thread-pool.default-executor.maximum-pool-size=2 +spring.dynamic.thread-pool.default-executor.blocking-queue=ResizableCapacityLinkedBlockingQueue +spring.dynamic.thread-pool.default-executor.execute-time-out=100 +spring.dynamic.thread-pool.default-executor.keep-alive-time=6691 +spring.dynamic.thread-pool.default-executor.queue-capacity=1 +spring.dynamic.thread-pool.default-executor.rejected-handler=AbortPolicy +spring.dynamic.thread-pool.default-executor.active-alarm=90 +spring.dynamic.thread-pool.default-executor.capacity-alarm=85 +spring.dynamic.thread-pool.default-executor.alarm=true +spring.dynamic.thread-pool.default-executor.allow-core-thread-time-out=true +spring.dynamic.thread-pool.default-executor.notify.interval=5 +spring.dynamic.thread-pool.default-executor.notify.receives=hippo4j +spring.dynamic.thread-pool.notify-platforms[0].platform=WECHAT +spring.dynamic.thread-pool.notify-platforms[0].secret-key=ec3be378-6c99-45d2-a147-b400c7e94a08 + +spring.dynamic.thread-pool.executors[0].thread-pool-id = cn.hippo4j.example.core.config.DynamicThreadPoolConfig#FIELD1 +spring.dynamic.thread-pool.executors[0].thread-name-prefix = DynamicThreadPoolConfig#FIELD1 +spring.dynamic.thread-pool.executors[0].core-pool-size = 2 +spring.dynamic.thread-pool.executors[0].maximum-pool-size = 50 +spring.dynamic.thread-pool.executors[0].queue-capacity = 1024 +spring.dynamic.thread-pool.executors[0].blocking-queue = ResizableCapacityLinkedBlockingQueue +spring.dynamic.thread-pool.executors[0].execute-time-out = 800 +spring.dynamic.thread-pool.executors[0].rejected-handler = AbortPolicy +spring.dynamic.thread-pool.executors[0].keep-alive-time = 6691 +spring.dynamic.thread-pool.executors[0].allow-core-thread-time-out = true +spring.dynamic.thread-pool.executors[0].alarm = true +spring.dynamic.thread-pool.executors[0].active-alarm = 80 +spring.dynamic.thread-pool.executors[0].capacity-alarm = 80 +spring.dynamic.thread-pool.executors[0].notify.interval = 8 +spring.dynamic.thread-pool.executors[0].notify.receives = hippo4j + +spring.dynamic.thread-pool.executors[1].thread-pool-id = cn.hippo4j.example.core.config.DynamicThreadPoolConfig#FIELD1 +spring.dynamic.thread-pool.executors[1].thread-name-prefix = DynamicThreadPoolConfig#FIELD2 +spring.dynamic.thread-pool.executors[1].core-pool-size = 2 +spring.dynamic.thread-pool.executors[1].maximum-pool-size = 50 +spring.dynamic.thread-pool.executors[1].queue-capacity = 1024 +spring.dynamic.thread-pool.executors[1].blocking-queue = ResizableCapacityLinkedBlockingQueue +spring.dynamic.thread-pool.executors[1].execute-time-out = 800 +spring.dynamic.thread-pool.executors[1].rejected-handler = AbortPolicy +spring.dynamic.thread-pool.executors[1].keep-alive-time = 6691 +spring.dynamic.thread-pool.executors[1].allow-core-thread-time-out = true +spring.dynamic.thread-pool.executors[1].alarm = true +spring.dynamic.thread-pool.executors[1].active-alarm = 80 +spring.dynamic.thread-pool.executors[1].capacity-alarm = 80 +spring.dynamic.thread-pool.executors[1].notify.interval = 8 +spring.dynamic.thread-pool.executors[1].notify.receives = hippo4j + +spring.dynamic.thread-pool.executors[2].thread-pool-id = messageConsumeTtlDynamicThreadPool +spring.dynamic.thread-pool.executors[2].thread-name-prefix = messageConsumeTtlDynamicThreadPool +spring.dynamic.thread-pool.executors[2].core-pool-size = 2 +spring.dynamic.thread-pool.executors[2].maximum-pool-size = 50 +spring.dynamic.thread-pool.executors[2].queue-capacity = 1024 +spring.dynamic.thread-pool.executors[2].blocking-queue = ResizableCapacityLinkedBlockingQueue +spring.dynamic.thread-pool.executors[2].execute-time-out = 800 +spring.dynamic.thread-pool.executors[2].rejected-handler = AbortPolicy +spring.dynamic.thread-pool.executors[2].keep-alive-time = 6691 +spring.dynamic.thread-pool.executors[2].allow-core-thread-time-out = true +spring.dynamic.thread-pool.executors[2].alarm = true +spring.dynamic.thread-pool.executors[2].active-alarm = 80 +spring.dynamic.thread-pool.executors[2].capacity-alarm = 80 +spring.dynamic.thread-pool.executors[2].notify.interval = 8 +spring.dynamic.thread-pool.executors[2].notify.receives = hippo4j + +spring.dynamic.thread-pool.executors[3].thread-pool-id = messageProduceDynamicThreadPool +spring.dynamic.thread-pool.executors[3].thread-name-prefix = messageProduceDynamicThreadPool +spring.dynamic.thread-pool.executors[3].core-pool-size = 2 +spring.dynamic.thread-pool.executors[3].maximum-pool-size = 50 +spring.dynamic.thread-pool.executors[3].queue-capacity = 1024 +spring.dynamic.thread-pool.executors[3].blocking-queue = ResizableCapacityLinkedBlockingQueue +spring.dynamic.thread-pool.executors[3].execute-time-out = 800 +spring.dynamic.thread-pool.executors[3].rejected-handler = AbortPolicy +spring.dynamic.thread-pool.executors[3].keep-alive-time = 6691 +spring.dynamic.thread-pool.executors[3].allow-core-thread-time-out = true +spring.dynamic.thread-pool.executors[3].alarm = true +spring.dynamic.thread-pool.executors[3].active-alarm = 80 +spring.dynamic.thread-pool.executors[3].capacity-alarm = 80 +spring.dynamic.thread-pool.executors[3].notify.interval = 8 +spring.dynamic.thread-pool.executors[3].notify.receives = hippo4j diff --git a/examples/threadpool-example/config/config-apollo/src/main/resources/apollo-config.properties b/examples/threadpool-example/config/config-apollo/src/main/resources/apollo-config.properties index 2156078e..747fef07 100644 --- a/examples/threadpool-example/config/config-apollo/src/main/resources/apollo-config.properties +++ b/examples/threadpool-example/config/config-apollo/src/main/resources/apollo-config.properties @@ -48,22 +48,4 @@ spring.dynamic.thread-pool.executors[1].alarm=true spring.dynamic.thread-pool.executors[1].active-alarm=80 spring.dynamic.thread-pool.executors[1].capacity-alarm=80 spring.dynamic.thread-pool.executors[1].notify.interval=8 -spring.dynamic.thread-pool.executors[1].notify.receives=chen.ma - - -# For hippo4j-agent mode (Optional) -spring.dynamic.thread-pool.executors[2].thread-pool-id = cn.hippo4j.example.core.config.DynamicThreadPoolConfig#FIELD1 -spring.dynamic.thread-pool.executors[2].thread-name-prefix = DynamicThreadPoolConfig#FIELD1 -spring.dynamic.thread-pool.executors[2].core-pool-size = 2 -spring.dynamic.thread-pool.executors[2].maximum-pool-size = 52 -spring.dynamic.thread-pool.executors[2].queue-capacity = 1024 -spring.dynamic.thread-pool.executors[2].blocking-queue = ResizableCapacityLinkedBlockingQueue -spring.dynamic.thread-pool.executors[2].execute-time-out = 800 -spring.dynamic.thread-pool.executors[2].rejected-handler = AbortPolicy -spring.dynamic.thread-pool.executors[2].keep-alive-time = 6691 -spring.dynamic.thread-pool.executors[2].allow-core-thread-time-out = true -spring.dynamic.thread-pool.executors[2].alarm = true -spring.dynamic.thread-pool.executors[2].active-alarm = 80 -spring.dynamic.thread-pool.executors[2].capacity-alarm = 80 -spring.dynamic.thread-pool.executors[2].notify.interval = 8 -spring.dynamic.thread-pool.executors[2].notify.receives = nobodyiam +spring.dynamic.thread-pool.executors[1].notify.receives=chen.ma \ No newline at end of file