作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可能只是个白痴 - 这真是漫长的一天!我第一次接触 Quartz 时误解了一些东西......
鉴于此代码:
DateTime dt = new DateTime();
dt = dt.withDayOfMonth(20);
Calendar cal = new CronCalendar("0 0/10 * * * ?" );
long start = dt.getMillis();
System.out.println("Starting at " + start);
long end = start + 10;
long current = start;
int i = 0;
while (current < end) {
if (i > 0) {
System.out.println(i + ":" + current);
}
long next = cal.getNextIncludedTime(current);
current = next;
i++;
}
我预计输出中最多包含一个时间,因为时间窗口为 10 毫秒,并且日历中包含的时间相隔 10 分钟。
但是当我运行它时:
Starting at 1250796103004
1:1250796103005
2:1250796103006
3:1250796103007
4:1250796103008
5:1250796103009
6:1250796103010
7:1250796103011
8:1250796103012
9:1250796103013
请帮忙!
最佳答案
是的,只是我是个傻瓜。
日历指定排除时间。
我应该使用 CronTrigger 来指定我想要包含的时间。代码应该看起来更像这样......
CronTrigger cal = new CronTrigger("Test", "Test", "0 0/10 * * * ?" );
...
end = start + 1000000;
...
while (current < end) {
if (i > 0) {
System.out.println(i + ":" + current);
}
Date next = cal.getFireTimeAfter(new Date(current));
current = next.getTime();
i++;
}
这给出了我期望的输出。
Starting at 1250798091337
1:1250798400000
2:1250799000000
关于java - 我不明白 Quartz 中的 getNextIncludedTime(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1279749/
我是一名优秀的程序员,十分优秀!