首页 > 其他分享 >spring 管理的线程池实现优雅关闭

spring 管理的线程池实现优雅关闭

时间:2023-01-17 09:56:40浏览次数:31  
标签:spring 优雅 线程 关闭 executor ThreadPoolTaskExecutor public

 

 

创建线程池时, setWaitForTasksToCompleteOnShutdown   setAwaitTerminationSeconds

// 将ThreadPoolTaskExecutor实例交给Spring管理
@Bean
public ThreadPoolTaskExecutor threadPoolTaskExecutor() {
    ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
    executor.setCorePoolSize(1);
    executor.setMaxPoolSize(1);
    
    // 告诉线程池,在销毁之前执行shutdown方法
    executor.setWaitForTasksToCompleteOnShutdown(true);
    // shutdown\shutdownNow 之后等待3秒
    executor.setAwaitTerminationSeconds(3);
    
    return executor;
}
————————————————
版权声明:本文为CSDN博主「神的力量」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq271859852/article/details/107442161

关闭线程池

@Component
public class ContextClosedHandler implements ApplicationListener<ContextClosedEvent> {
    // 直接注入
    @Resource
    private ThreadPoolTaskExecutor executor;

    @Override
    public void onApplicationEvent(ContextClosedEvent event) {
            // 关闭线程池
        executor.destroy();
    }
}

 

转自  https://blog.csdn.net/qq271859852/article/details/107442161

 

标签:spring,优雅,线程,关闭,executor,ThreadPoolTaskExecutor,public
From: https://www.cnblogs.com/xiaodu9499/p/17057028.html

相关文章

  • Spring-正确使用AOP
    正确使用AOP,我们需要一个避坑指南:访问被注入的Bean时,总是调用方法而非直接访问字段;编写Bean时,如果可能会被代理,就不要编写publicfinal方法。这样才能保证有没有AOP,代......
  • Spring 依赖注入
    依赖注入(DI)是一种设计模式,可以从编程代码中删除依赖,以便可以轻松管理和测试应用程序。依赖注入使我们的编程代码松散耦合。为了更好地理解DI,让我们首先了解依赖关系查......
  • Spring IoC容器
    IoC容器负责实例化,配置和组装对象。IoC容器从XML文件获取信息并相应地工作。IoC容器执行的主要任务是:实例化应用程序类配置对象组装对象之间的依赖关系 有两种类......
  • SpringBoot自定义starter
    SpringBoot自定义starter目录SpringBoot自定义starter1自定义starter1.1新建project和Module1.2对于starter-provider1.3install1.4对于starter-user1.5测试2执行......
  • spring 创建应用
    在这里,我们将使用eclipseIDE创建一个spring框架的简单应用程序。让我们看看在EclipseIDE中创建spring应用程序的简单步骤。在EclipseIDE中创建spring应用程序的步骤......
  • Spring 示例
    在这里,我们将学习创建第一个spring应用程序的简单步骤。要运行此应用程序,我们不使用任何IDE。我们只是在使用命令提示符。让我们看看创建spring应用程序的简单步骤创建J......
  • Spring Framework的优势
    SpringFramework有很多优点。它们如下:1、预定义模板Spring框架提供了JDBC,Hibernate,JPA等技术的模板。 因此,无需编写过多的代码。它隐藏了这些技术的基本步骤。让我......
  • spring cloud 错误:namingService subscribe failed
    ERROR67472---[错误:main]c.a.cloud.nacos.discovery.NacosWatch:namingServicesubscribefailed解决方案:修改成xuguo就行。......
  • Spring 模块
    Spring框架包含许多模块,例如Core,bean,Context,ExpressionLanguage,AOP,Aspects,Instrumentation,JDBC,ORM,OXM,JMS,Transaction,Web,Servlet,Struts等。这些模块如下图所示,它们分为Tes......
  • 230116_50_SpringBoot入门
    指定自定义的配置文件bill.propertiesbill.properitesname=billage=11happy=falsebirth=2021/12/2通过@PropertySource注解指定自定义的配置文件@PropertyS......