ejb 3.1计时器安排每月1日

时间:2013-04-17 12:07:40

标签: ejb-3.0 ejb-3.1

我想安排一个EJB计时器任务,以便在每年的凌晨2点,每年的1月,全年生成报告。我想使用@Schedule执行此操作。我用@Schedule(dayOfMonth="1"),是不是?它不起作用。

1 个答案:

答案 0 :(得分:0)

EJB 3.1最终版本规范说:

  

18.2.1.2表达规则

     

second,minute和hour属性的默认值为“0”。

     

dayOfMonth,month,dayOfWeek和year属性的默认值为“*”。

所以你的

@Schedule(dayOfMonth="1")

表示

@Schedule(dayOfMonth="1", second="0", minute="0", hour="0")

所以它应该是:

@Schedule(dayOfMonth="1", hour="2")

这应该可以解决问题。