具有多个@Schedule注释的方法不会选择第二行

时间:2017-11-13 09:21:32

标签: java glassfish-3

我在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中获得。

欢迎任何想法。

1 个答案:

答案 0 :(得分:0)

由于没有收到回复,通过实验发现了解决方案。解决方案是重写@Schedules注释,如下所示。

@Schedules({ @Schedule(dayOfWeek="Mon,Tue,Wed,Thu,Fri,Sat", hour="*", minute="*/15", second="0", persistent=false), @Schedule(dayOfWeek="Sun", hour="0,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23", minute="*/15", second="0", persistent=false) })