java-后台工作者的Spring Boot应用程序

我定义了以下Spring Boot应用程序:

@SpringBootApplication
public class Application implements CommandLineRunner {

    public static void main(String[] args) {
        new SpringApplicationBuilder(Application.class).web(WebApplicationType.NONE).run(args);
    }

    public void run(String... args) throws Exception {
        Thread.currentThread().join();
    }
}

我也有一组工作程序(即可以是实现Runnable的类).他们应该无限期地奔跑.

运行它们的“春季方式”是什么? (并且自动执行,而无需明确知道它们)

谢谢

解决方法:

您可以(1)用@Component注释实现Runnable的类,以便Spring可以找到它们.然后,您可以(2)用@Service编写带有@Autowired列表的WorkManager,该列表将由(1)中所有类的列表实例进行初始化.并且可以(3)在WorkManager中编写一个@PostConstruct方法,该方法将遍历该Runnable列表,然后将每个传递给TaskExecutor来运行…

上一篇:在C#中将Lambda与System.ComponentModel.BackgroundWorker结合使用的最佳方法


下一篇:CodeGo.net>在WPF应用程序如何使backgroundworker工作