是否可以/建议仅针对 @ScheduledTasks 和 ORM 在没有控制器的情况下运行 Spring Boot?

Pau*_*ger 7 java spring spring-boot

我想运行一个 Spring Boot 服务,而不需要任何与控制器相关的东西。我希望它每小时运行一个计划任务,并在需要时执行工作。我想使用 Spring Boot,因为我已经知道如何设置 Hibernate ORM,并且我正在重复使用许多与另一个 Spring Boot 服务相同的存储库。因此,我启动了一个新的 Spring Boot 项目,并省略了 start-web 包。

我遇到的主要问题是,尽管设置了计划任务,但服务启动并立即退出,而不运行计划任务。在我的脑海中,我想象该服务只是坐在那里,运行,等待时间触发我配置的预定作业,然后就一直睡觉。是我的期望不好,还是我配置错误?

And*_*own 0

您可以spring-boot-starter-web从依赖项中删除,也可以在主类中将其配置SpringApplicationBuilder为不包含 Web 服务器。

new SpringApplicationBuilder(YourApplication.class)
  .web(WebApplicationType.NONE)
  .run(args);
Run Code Online (Sandbox Code Playgroud)