SpringBootTest运行线程池被拒绝

复制代码
localhost myApp 2025-10-14 20:07:46.646 ERROR ???? [nTaskExecutor-8] s.l.SmsSendMsgRecordConsumerListenerTest:148 : [] [] [] validAddressMatchedMoveOrderMsg error, e->
java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.CompletableFuture$AsyncSupply@21dd0075 rejected from java.util.concurrent.ThreadPoolExecutor@449d25f9[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063) 
	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830) 
	at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1379) 
	at java.util.concurrent.CompletableFuture.asyncSupplyStage(CompletableFuture.java:1618) 
	at java.util.concurrent.CompletableFuture.supplyAsync(CompletableFuture.java:1843) 
	at com.pdd.service.oakland.sending.listener.SmsSendMsgRecordConsumerListenerTest.validAddressMatchedMoveOrderMsg(SmsSendMsgRecordConsumerListenerTest.java:117) 
	at com.pdd.service.oakland.sending.listener.SmsSendMsgRecordConsumerListenerTest.lambda$consumeMessage$0(SmsSendMsgRecordConsumerListenerTest.java:78) 
	at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) 
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
	at java.lang.Thread.run(Thread.java:750) 

和SpringBootTest容器销毁时间有关系,这里的使用场景是线程池嵌套线程池,CompletableFuture嵌套CompletableFuture

在第一个线程池任务全部提交完成之后,才会开始运行第二个线程池,这个时候容器已经在销毁了,所以会提示线程池已经TERMINATED了

在中途打断点用isTerminated()方法是可以看到线程池还没有关闭的

相关推荐
香蕉大香蕉(06敬畏市场)11 分钟前
MySQL 单点详解(01)
java·数据库·mysql·面试·博客·实习
LaughingZhu26 分钟前
Product Hunt 热榜 2026-10-30:Empacer、Scape、Floot in ChatGPT
java·前端·数据库·人工智能·chatgpt·notion
niucloud-admin44 分钟前
NIUCLOUD PHP SAAS上门家政使用文档:服务保障
java·开发语言·php
IT枫斗者枫哥1 小时前
CompletableFuture失败后返回空列表:异常没了,业务含义也变了
java·后端
知识搬运临时工1 小时前
一个模板把 AEM 拖进 Full GC 死亡螺旋:300% CPU、7 GB 堆、310 万行堆栈
java·aws
用户432935928051 小时前
CoAP还是MQTT:1万只Cat.1水表三个月带宽续航实测
java
知守观1 小时前
多模块架构演进:横向分层 vs 纵向领域,13 个真实项目的切分对照
java·后端·微服务
Java成神之路-2 小时前
Java String 为什么不可变?和 HashMap 到底有什么关系?
java
paopaokaka_luck2 小时前
基于springboot+vue的益暖微光公益服务平台(DeepSeek公益助手、善款信息追溯、志愿服务积分闭环、ECharts运营分析、活动状态自动流转)
java·前端·javascript·spring boot·mysql·架构·echarts
文丑颜不良啊2 小时前
LeetCode1401~1420题目解析
java·leetcode