dynamic-tp v1.1.9 发布,轻量级动态线程池


dynamic-tp v1.1.9 发布,轻量级动态线程池。

此版本更新内容包括:

Feature

  • 新增 AgentAware,解决在有其他 agent 增强 Runnable 情况下尝试去拿 DtpRunnable,进行 tps、tpxx、运行超时等统计功能,1.1.7 及之前版本为了防止内存泄露会关闭这些功能。
https://gitee.com/dromara/dynamic-tp/issues/IAPNE8
 
<dependency>
<groupId>org.dromara.dynamictp</groupId>
<artifactId>dynamic-tp-extension-agent</artifactId>
<version>1.1.9</version>
</dependency>
 
  • 新增全局配置功能,减少配置量,项目中可能会定义多个线程池,除了一些核心参数外,其他配置可能都是相同的,新增 globalExecutorProps 配置项,如果线程池某一配置项没配置,则从全局配置中取。
https://github.com/dromara/dynamic-tp/issues/443
 
spring:
dynamic:
tp:
globalExecutorProps:
queueType: VariableLinkedBlockingQueue
rejectedHandlerType: CallerRunsPolicy
allowCoreThreadTimeOut: false
awaitTerminationSeconds: 5
taskWrapperNames: ["ttl", "mdc"]
executors:
- threadPoolName: dtpExecutor1
executorType: eager
corePoolSize: 10
maximumPoolSize: 20
queueCapacity: 2000
threadNamePrefix: test
- threadPoolName: dtpExecutor2
corePoolSize: 20
maximumPoolSize: 40
queueCapacity: 1000
threadNamePrefix: test2
 
  • 线程池配置新增 autoCreate 字段,标识是否自动生成 DtpExecutor 实例,默认为 true;若想使用 juc 原生线程池或 spring 线程池可置为 false,需在代码中手动创建线程池。1.1.9 之前版本中,配置在 executors 下的所有线程池在服务启动时会自动生成 DtpExecutor 注册到 spring 容器中,如果项目中大量使用了 Spring ThreadPoolTaskExecutor 接线程池对象,若配置的线程池名称相同,此时会报类型转换异常。
https://github.com/dromara/dynamic-tp/issues/472
 
spring:
dynamic:
tp:
globalExecutorProps:
taskWrapperNames: ["ttl", "mdc"]
executors:
- threadPoolName: springTaskExecutor
autoCreate: false
corePoolSize: 10
maximumPoolSize: 20
queueCapacity: 2000
threadNamePrefix: test
- threadPoolName: dtpExecutor2
corePoolSize: 20
maximumPoolSize: 40
queueCapacity: 1000
threadNamePrefix: test2
 
  • 新增规则引擎框架 Liteflow 线程池适配模块
https://github.com/dromara/dynamic-tp/issues/474
 

引入以下依赖即可

<dependency>
<groupId>org.dromara.dynamictp</groupId>
<artifactId>dynamic-tp-spring-boot-starter-adapter-liteflow</artifactId>
<version>1.1.9</version>
</dependency>
 
spring:
dynamic:
tp:
liteflowTp:
- threadPoolName: liteflowTp#LiteFlowDefaultWhenExecutorBuilder
corePoolSize: 10
maximumPoolSize: 20
keepAliveTime: 60
 
  • ScheduledDtpExecutor 支持 TaskWrapper 任务包装。
https://github.com/dromara/dynamic-tp/issues/431
 
spring:
dynamic:
tp:
executors:
- threadPoolName: dtpExecutor1
executorType: scheduled
corePoolSize: 10
threadNamePrefix: test
taskWrapperNames: ["ttl", "mdc"]
 

Bugfix

  • 修复 Spring ThreadPoolTaskExecutor 被框架管理后,ThreadPoolTaskExecutor 中定义的线程池装饰器失效问题。
https://gitee.com/dromara/dynamic-tp/issues/I9D31H
 
  • 修复 RocketMQ 线程池适配模块,在低版本时 getAsyncSenderExecutor 报 NoSuchMethodError 错误问题。
https://github.com/dromara/dynamic-tp/issues/417
 
  • 修复 TaskEnhanceAware 在多 Wrapper 包装后 taskName 丢失问题。
https://github.com/dromara/dynamic-tp/issues/420
 
  • 修复 JMX 报错 InstanceAlreadyExistsException 问题。
https://github.com/dromara/dynamic-tp/issues/437
 
  • 修复飞书报警填写了 username(非 openid 的情况), 发出的消息接受人为空问题。
https://github.com/dromara/dynamic-tp/issues/428
 
  • 修复钉钉告警 @所有人 不生效问题。
https://github.com/dromara/dynamic-tp/issues/439
 
  • 修复动态更新 taskWrappers 后导致 spring 线程池任务装饰器丢失问题。
https://github.com/dromara/dynamic-tp/issues/481
 
  • 修复 dubbo adapter missing afterInitialize step。

Optimize

  • 三方中间件线程池支持运行过程异常打印

  • Undertow 线程池支持任务包装器

  • juc 线程池、spring 线程池支持更多参数动态调整

  • 部分代码设计优化重构

详情查看:https://gitee.com/dromara/dynamic-tp/releases/v1.1.9


相關推薦

2023-09-28

dynamic-tp v1.1.4 已经发布,轻量级动态线程池 此版本更新内容包括: Feature 支持 Spring 项目,SpringBoot 相关特性只在 starter 模块引入,@炼龙 添加 jvmti 黑科技模块,方便集成管理各种三方包线程池,@炼龙 升级 VariableLinke

2023-03-30

官网:https://dynamictp.cn gitee 地址:https://gitee.com/dromara/dynamic-tp github 地址:https://github.com/dromara/dynamic-tp 加入社群 看到这儿,方便的话给项目一个 star,你的支持是我们前进的动力! 使用过程中有任何问题,或者对项目有什

2023-02-09

官网:https://dynamictp.cn gitee 地址:https://gitee.com/dromara/dynamic-tp github 地址:https://github.com/dromara/dynamic-tp

2022-11-08

官网:https://dynamictp.cn gitee地址:https://gitee.com/dromara/dynamic-tp github地址:https://github.com/dromara/dynamic-tp

2022-10-16

特性 1、简洁:API直观简洁,可快速上手; 2、轻量级:底层实现仅强依赖jsoup,简洁高效; 3、模块化:模块化的结构设计,可轻松扩展 4、面向对象:支持通过注解,方便的映射页面数据到PageVO对象,底层自动完

2023-01-04

定 线程池 则使用 统一的线程池配置 如果通过 API 的方式动态更新了线程池 则使用动态更新 替换配置文件线程池配置 参见: ThreadPoolConfig thread-pool: core-pool-size: 1000 max-pool-size: 2000 自定义规则配置 如果开发者针对流程规则做

2024-07-02

前言 EasyAi的出现对于Java的意义,等同于在JavaWeb领域spring出现的意义一样——做一个开箱即用,让每一个开发者都可以使用EasyAi,来开发符合自己人工智能业务需求的小微模型,这就是它的使命! EasyAi介绍 EasyAi无任何依

2023-01-17

 #529 @liudonghua123 [collector,manager] 支持 dromara dynamic-tp 指标监控 #530 [manager] 新增监控相关单元测试用例 (#357) #533 @orangeyts 新增 dynamic-tp 帮助文档 #536 @yanhom1314 [script] 新增支持 iotdb docker compose 部署 #539 

2023-06-04

Paozhu C++ web框架 1.4.1 版本发布 Paozhu C++ web框架 自带c++ ORM 支持HTTP/1 HTTP/2,支持复杂结构体和JSON互换 框架提供开箱即用 admin 管理后台 这版主要是修改大并发问题,如果用户线程忙不过来,就添加用户线程,这样保持网站畅

2022-12-25

经过大半个月测试修改,paozhu c++ web framework 正式版发布, 1.0.5 release 官方第一次发布正式版,可以用于生产环境。 易用性 超越国外各种c++ web framework,简单易用,开箱即用web生态支持,新手可以快速入门。   Paozhu(炮竹

2023-06-25

本次发布支持多页面前端 使用404重写 多个目录 提供一个前端演示 Paozhu C++ Web框架 原生解析HTTP/1、HTTP/2、JSON协议 集成C++ ORM 1.特性🔥🔥🔥🔥🔥 ✅ 1. 自带json编解码不用第三方库,标准json支持 ✅ 2. 支持多域名网站 ✅ 3.

2023-12-21

最近一周更新很多,重构了HTTP/2模块,通过压力测试目前没有什么问题。 经过两位社区网友完善支持Windows下MSVC支持,目前MSVC可以开启asan模块,Windows用户可以直接使用MSVC。 为了符合监管要求,添加了ip转地址模块,可以详细

2023-11-18

持多语言开发而备受开发者青睐。 Eclipse Vert.x 4.5.0 现已发布,此版本带来了一些新功能,包括虚拟线程支持。亮点更新如下: 虚拟线程 虚拟线程 verticle 可以等待 Vert.x futures 并同步获取结果。 Verticle verticle = new AbstractVerticle

2023-07-16

信息创建数据库表,可只创建部分 4. 支持 Spring boot 3.0, 动态配置 5. 完善 Sharding ThreadPool, 可以自定义配置 Sharding 操作执行线程数的大小 6. 完善 Android 多线程操作获取 SQLiteDatabase 的问题 使用实例: #1.解决缓存雪崩问题 #二级缓