ThreadPoolTaskExecutor setRejectedExecutionHandler
时间: 2023-10-17 20:36:11 浏览: 155
ThreadPoolTask
ThreadPoolTaskExecutor.setRejectedExecutionHandler() 方法用于设置当任务无法添加到线程池中执行时的拒绝策略。拒绝策略决定了当线程池队列已满并且无法继续接收新任务时,应该如何处理新的任务。
该方法接受一个 RejectedExecutionHandler 参数,该参数定义了拒绝策略的具体行为。常见的拒绝策略包括:
1. AbortPolicy(默认):当队列已满时,直接抛出 RejectedExecutionException 异常,阻止任务的提交。
2. CallerRunsPolicy:当队列已满时,将任务返回给调用者来执行,也就是在调用 execute() 方法的线程中执行该任务。
3. DiscardPolicy:当队列已满时,静默丢弃该任务,不做任何处理。
4. DiscardOldestPolicy:当队列已满时,先丢弃队列中最旧的任务,然后尝试把当前任务加入队列。
示例代码如下:
```java
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
ThreadPoolTaskExecutor
阅读全文