Spring Boot - 无限循环服务

Paw*_*ban 5 java service headless infinite-loop spring-boot

我想构建一个无头应用程序,它将在无限循环中查询数据库并在某些条件下执行某些操作(例如,获取具有特定值的记录以及何时为每条消息找到启动电子邮件发送过程).

我想使用Spring Boot作为基础(特别是因为Actuator允许公开健康检查),但是现在我使用Spring Boot来构建REST Web服务.

构建无限循环应用程序时是否有任何最佳实践或模式?有没有人试图基于Spring Boot构建它,并可以与我分享他的架构?

最好的祝福.

Xtr*_*ica 15

不要自己实现无限循环.让框架使用其任务执行功能来处理它:

@Service
public class RecordChecker{

    //Executes each 500 ms
    @Scheduled(fixedRate=500)
    public void checkRecords() {
        //Check states and send mails
    }
}
Run Code Online (Sandbox Code Playgroud)

不要忘记为您的应用程序启用计划:

@SpringBootApplication
@EnableScheduling
public class Application {

    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class);
    }
}
Run Code Online (Sandbox Code Playgroud)

也可以看看:


inn*_*ism 6

我正在使用的是一个消息代理和一个消费者放在spring boot应用程序来完成这项工作.