You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Rafael Alfaro (JIRA)" <ji...@apache.org> on 2013/06/20 09:09:23 UTC
[jira] [Created] (AMQ-4591)
org.apache.activemq.broker.scheduler.CronParser bug on
getNextScheduledTime() to handle the once per minute case "* * * * *"
Rafael Alfaro created AMQ-4591:
----------------------------------
Summary: org.apache.activemq.broker.scheduler.CronParser bug on getNextScheduledTime() to handle the once per minute case "* * * * *"
Key: AMQ-4591
URL: https://issues.apache.org/jira/browse/AMQ-4591
Project: ActiveMQ
Issue Type: Bug
Components: Broker
Affects Versions: 5.8.0, 5.9.0
Environment: Any
Reporter: Rafael Alfaro
There is a Bug on handle the once per minute case.
For the cronentry: "* * * * *"
The Next Scheduled time is not the top of the next minute.
Instead, is the current Time plus 60 seconds
The problem is that the code is trying to set the precision at seconds, but the precision must have to be at minutes.
It can be fixed in this way:
Index: activemq-client/src/main/java/org/apache/activemq/broker/scheduler/CronParser.java
===================================================================
--- activemq-client/src/main/java/org/apache/activemq/broker/scheduler/CronParser.java (revision 1494862)
+++ activemq-client/src/main/java/org/apache/activemq/broker/scheduler/CronParser.java (working copy)
@@ -44,7 +44,7 @@
// starting the next event at the top of the minute.
if (cronEntry.equals("* * * * *")) {
result = currentTime + 60 * 1000;
- result = result / 1000 * 1000;
+ result = result / 60000 * 60000;
return result;
}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira