博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring boot 守护线程
阅读量:7023 次
发布时间:2019-06-28

本文共 1464 字,大约阅读时间需要 4 分钟。

hot3.png

由于项目需要,在系统启动之后,要新起一条线程一直跑,用作监听器,使用回调方法处理将要发生的事情,处理时,需要用到 JPA 的接口。

因此,需要设置一条守护线程,并且可以自动装配 Spring Bean,采用第三个方法。

方案一

@SpringBootApplicationpublic class App {	//发射App	public static void main(String[] args) {		Thread thread = new Thread();		thread.setDaemon(true);		thread.start();		SpringApplication app = new SpringApplication(App.class);		app.run(args);	}}

方案二

@Beanclass EventSubscriber implements DisposableBean, Runnable {    private Thread thread;    private volatile boolean someCondition;    EventSubscriber(){        this.thread = new Thread(this);    }    @Override    public void run(){        while(someCondition){            doStuff();        }    }    @Override    public void destroy(){        someCondition = false;    }}

方案三

@Componentpublic class Listener implements ApplicationListener
, Runnable { @Autowired IUserRepo userRepo;//使用Spring data jpa,接口,没办法实现,只能让Spring自动装配 @Override public void onApplicationEvent(ContextRefreshedEvent event) { Listener listener = event.getApplicationContext().getBean(Listener.class); new Thread(this).start(); } @Override public void run() { System.out.println("run run run..."); }}
@SpringBootApplicationpublic class App {	//发射App	public static void main(String[] args) {		SpringApplication app = new SpringApplication(App.class);		app.setListeners(new Listener());		app.run(args);	}}

方案四

ApplicationRunner 

 

转载于:https://my.oschina.net/u/3035165/blog/919492

你可能感兴趣的文章
munmap(解除内存映射)
查看>>
oracle补零 (转)
查看>>
Sublime Text编辑器如何显示顶部的菜单栏
查看>>
STM32起步过程
查看>>
datagridview 单元格为 编辑状态 微软教程
查看>>
c++ 捕获构造函数成员初始化列表产生的异常
查看>>
Gridview中HyperLink的NavigateUrl绑定传参问题
查看>>
WebRequest 超时不起作用
查看>>
OpenGL 函数作用列表
查看>>
12篇学通C#网络编程——第四篇 TCP应用编程
查看>>
ASP.NET MVC的DropDownList
查看>>
B-tree vs hash_我思故我在_百度空间
查看>>
spring.net 结合简单三层实例
查看>>
phpcms(v9)添加模型
查看>>
LINQ 图解
查看>>
Windows C++ 应用程序通用日志组件(组件及测试程序下载)
查看>>
设计模式、模式-深入理解JavaScript系列-by小雨
查看>>
【转】ubuntu 12.04 LTS 网络配置要点
查看>>
一些好用的DNS服务器地址
查看>>
WURFL简介
查看>>