每年计时器不起作用

菲索

我正在使用EJB 3.1。在以下代码中,我尝试创建一个年度重复计时器:

        ScheduleExpression scheduleExpression = new ScheduleExpression();
        Date now = new Date();
        scheduleExpression.start(now);     
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(now);
        scheduleExpression.minute(calendar.get(Calendar.MINUTE));
        scheduleExpression.hour(calendar.get(Calendar.HOUR_OF_DAY));
        scheduleExpression.dayOfMonth(calendar.get(Calendar.DAY_OF_MONTH));
        scheduleExpression.month(calendar.get(Calendar.MONTH));

但这是行不通的,实际上行为是随机的(在某些重复工作中,在另一种情况下则不行)。

奇怪的是,我也每月重复一次(请参阅以下代码),并且它正在工作。

    ScheduleExpression scheduleExpression = new ScheduleExpression();
    Date now = new Date();
    scheduleExpression.start(now);     
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(now);
    scheduleExpression.minute(calendar.get(Calendar.MINUTE));
    scheduleExpression.hour(calendar.get(Calendar.HOUR_OF_DAY));
    scheduleExpression.dayOfMonth(calendar.get(Calendar.DAY_OF_MONTH));

任何的想法?

米科·毛努(Mikko Maunu)

对于Java中的公历日历实现,月是从零开始的,例如Calendar的javadocs中所述

阳历和朱利安历法中的第一个月是1月,0。最后一个取决于一年中的月份数。

ScheduleExpression中的月份是基于一个月的:

一个月:一年内一个或多个月

允许值:

  • [1,12]
  • {“ Jan”,“ Feb”,“ Mar”,“ Apr”,“ May”,“ Jun”,“ Jul”,“ Aug”,“ Sep”,“ Oct”,“ Nov”,Dec”}

因此,构造ScheduleExpression的下面的代码是month过去一个月(或在January的情况下,值0为无效参数,但似乎没有严格规定无效的行为)。

Date now = new Date();
...
scheduleExpression.dayOfMonth(calendar.get(Calendar.DAY_OF_MONTH));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript计时器不起作用

来自分类Dev

角度计时器不起作用

来自分类Dev

秒表(计时器)不起作用

来自分类Dev

角度计时器不起作用

来自分类Dev

计时器不起作用

来自分类Dev

倒数计时器不起作用

来自分类Dev

倒数计时器不起作用

来自分类Dev

C#计时器不起作用?

来自分类Dev

C#计时器不起作用

来自分类Dev

Android SDK计时器不起作用

来自分类Dev

倒数计时器onTick方法不起作用

来自分类Dev

快速无效计时器不起作用

来自分类Dev

计时器间隔不起作用的Javascript

来自分类Dev

计时器onReceive在NavigationView中不起作用

来自分类Dev

子线程中的计时器不起作用

来自分类Dev

计时器在Android Eclipse中不起作用

来自分类Dev

角度计时器在我的应用中不起作用

来自分类Dev

NSTimer [计时器无效]不起作用

来自分类Dev

为什么我的Java计时器不起作用?

来自分类Dev

Esper 模式计时器:interval() 不起作用

来自分类Dev

我的反应组件计时器不起作用

来自分类Dev

新年计时器内部HTML

来自分类Dev

python 3.4,计时器倒计时不起作用

来自分类Dev

python 3.4,计时器倒计时不起作用

来自分类Dev

EJB3计时器在Wildfly服务器中不起作用

来自分类Dev

Windows服务上的计时器在服务器上不起作用

来自分类Dev

Azure Functions 计时器触发器不起作用

来自分类Dev

在Glass上运行计时器,秒表和指南针示例似乎不起作用

来自分类Dev

Visual Studio Express 2013中的“拖放到表单”计时器不起作用