首页 > 其他分享 >一种简单的springboot启动后启动一条死循环线程方式

一种简单的springboot启动后启动一条死循环线程方式

时间:2022-09-23 10:02:38浏览次数:57  
标签:ApplicationRunner springboot 启动 springframework 线程 org import Async

前言

之前有测试

# 启动类加
@EnableAsync
# 方法上加
@Async
@PostConstruct

但是依旧会卡主主线程,所有另辟蹊径
在启动类上加

@EnableAsync

新建一个类,实现 ApplicationRunner 并重写 run
因为我们是死循环,所以在 run 方法上额外加一个 @Async 注解即可
例如如下

package com.ruoyi.project.init;

import com.ruoyi.common.utils.MyUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.Async;

import javax.annotation.PostConstruct;

@Slf4j
@Configuration
public class HandleTransInit implements ApplicationRunner {
    /**
     * 处理转账数据
     *
     * @param args
     */
    @Override
    @Async
    public void run(ApplicationArguments args) {
        while (true) {
            System.out.println("执行");
            MyUtils.sleep(1000);
        }
    }
}

标签:ApplicationRunner,springboot,启动,springframework,线程,org,import,Async
From: https://www.cnblogs.com/daen/p/16721673.html

相关文章