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