我在 Glassfish 服务器 v 3.1.2 上有无状态 bean,有两种方法应按计划执行。 一个方法应该每周执行一次,并注释如下:
@Schedule(dayOfWeek = "Sun", hour = "1", minute = "5", second = "0")
第二个方法每 15 分钟运行一次,第一个方法运行并带注释的时间除外
@Schedules({
@Schedule(dayOfWeek = "Mon-Sat", hour = "*", minute = "*/15", second = "0", persistent = false),
@Schedule(dayOfWeek = "Sun", hour = "0,2-23", minute = "*/15", second = "0", persistent = false)
})
问题是第二个方法从周六 23:45 到周日 00:00 每秒运行一次,然后每 15 分钟恢复正常执行一次。这表明周日的日程安排有问题,但不知道出了什么问题。 @Schedules Javadoc 指出此注释可从 Java 6 开始使用。
欢迎任何想法。
最佳答案
由于没有收到回复,通过实验找到了解决方案。解决方案是重写 @Schedules
注解,如下所示。
@Schedules({
@Schedule(dayOfWeek =“周一,周二,周三,周四,周五,周六”,小时=“*”,分钟=“*/15”,秒=“0”,持久= false),
@Schedule(dayOfWeek =“太阳”,小时=“0,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23”,分钟=“*/15”,秒=“0”,持久= false)
})
关于java - 具有多个@Schedule注释的方法不选择第二行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47260784/