Bug 1059911 - [GSS] (6.3.0) @Schedule EJB Timer not using timezone when calculating next timeout
[GSS] (6.3.0) @Schedule EJB Timer not using timezone when calculating next ti...
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: EJB (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: DR0
: EAP 6.3.0
Assigned To: Brad Maxwell
Jan Martiska
Russell Dickenson
Depends On:
Blocks: 1059914
  Show dependency treegraph
Reported: 2014-01-30 18:01 EST by Brad Maxwell
Modified: 2014-06-28 11:38 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
In previous versions of JBoss EAP 6, a bug was encountered where, if the @Schedule EJB timer used a timezone that was different to that used by the server, any timer invocations after the initial invocation would not fire correctly. This release addresses this behavior and all timer invocations fire as expected when timezones differ between the server and the @Schedule.
Story Points: ---
Clone Of:
: 1059914 (view as bug list)
Last Closed: 2014-06-28 11:38:51 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
JBoss Issue Tracker WFLY-2840 Major Resolved @Schedule EJB Timer not using timezone when calculating next timeout 2017-10-23 20:40 EDT

  None (edit)
Description Brad Maxwell 2014-01-30 18:01:17 EST
With a system running in Central Timezone, if it uses the annotation below specifying the timezone as Eastern timezone, with the hour set to the current hour.
The timer will fire once, and it will calculate the next timeout to be in the next hour CST, where as it should take in consideration the timezone specified on @Schedule which is Eastern. If it did, then the timer should continue to fire every minute.

  @Schedule(persistent = false, timezone = "America/New_York", dayOfMonth = "*", dayOfWeek = "*", month = "*", hour = "22", minute = "*", second = "0", year = "*")

21:53:00,006 INFO [stdout] (EJB default - 1) ScheduleTest: nextTimeout:Wed Jan 29 22:00:00 CST 2014

import javax.ejb.Schedule;
import javax.ejb.Singleton;
import javax.ejb.Startup;

public class ScheduleTest {
  @Schedule(persistent = false, timezone = "America/New_York", dayOfMonth = "*", dayOfWeek = "*", month = "*", hour = "22", minute = "*", second = "0", year = "*")
  public void helloWorld(Timer time) {
    System.out.println("ScheduleTest: timer:" + time.getClass().getName() + " " + time.getNextTimeout() + " " + time.getInfo());
Comment 1 JBoss JIRA Server 2014-02-06 01:46:52 EST
Brad Maxwell <bmaxwell@redhat.com> updated the status of jira WFLY-2840 to Coding In Progress
Comment 2 Kabir Khan 2014-02-06 18:52:23 EST
Comment 5 Jan Martiska 2014-02-18 09:21:19 EST
Verified in 6.3.0.DR0. Reproduced manually, plus the newly created test passes.

Note You need to log in before you can comment on or make changes to this bug.