sme*_*eeb 1 cron scheduled-tasks spring-boot
Spring Boot允许您创建后台“ cron式”任务,如下所示:
@Component
public class MyTask {
// Every hour on the hour
@Scheduled(cron = "0 0 0/1 1/1 * ? *")
public void doSomething() {
// blah whatever
}
}
Run Code Online (Sandbox Code Playgroud)
这使得自动集成测试有点困难!我不必只花一个小时就可以运行集成测试,而不必等一下,如果我的任务在一个小时的高峰时间运行,会发生什么。我也不必等待近一个小时运行测试,以便可以在小时内确认正确的行为!
有没有办法使这些cron值可配置?这样,如果我想以“测试模式”运行我的应用程序,则可以安排该MyTask#doSomething()方法每30秒运行一次,等等。
您可以像这样使cron表达式可配置
@Scheduled(cron ="${some.trigger}")
Run Code Online (Sandbox Code Playgroud)
您可以从application.properties文件中为dev / prod配置文件设置此值。在测试模式下,您可以使用特定于配置文件的属性文件将此值设置为所需的任何值application-test.properties
| 归档时间: |
|
| 查看次数: |
1986 次 |
| 最近记录: |