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:11:20 UTC
[jira] [Updated] (AMQ-4591)
org.apache.activemq.broker.scheduler.CronParser bug on
getNextScheduledTime() to handle the once per minute case "* * * * *"
[ https://issues.apache.org/jira/browse/AMQ-4591?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rafael Alfaro updated AMQ-4591:
-------------------------------
Attachment: CronParser.java.patch
Patch to handle the cronEntry "* * * * *"
> 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
> Labels: patch
> Attachments: CronParser.java.patch
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> 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