使用定时服务每n个月安排一个任务

时间:2013-02-14 15:09:20

标签: java java-ee timer glassfish scheduling

我正在使用Java EE应用程序服务器(GlassFish)的计时器服务,我想安排一个每n个月执行一次的任务(例如每2个月执行一次)。我试过用: scheduleExpression.month(*/2)。但我得到了这个例外:

  

月份值无效:* / 2

2 个答案:

答案 0 :(得分:1)

根据规范:间隔可以设置为秒,分钟和小时属性。

但你可以使用:

@Schedule(month="2,4,6,8,10,12")

在第2个月(2月),4月(4月)等处运行你的任务......

否则就有例如

@Schedule(dayOfMonth="1")

将在每个月的第一天执行任务。

答案 1 :(得分:0)

我认为我必须强制用户输入这些值(1,2,3,4,6,12)来解决问题。因此,我们可以确定执行任务的月份列表。