Bug 1059911
| Summary: | [GSS] (6.3.0) @Schedule EJB Timer not using timezone when calculating next timeout | |||
|---|---|---|---|---|
| Product: | [JBoss] JBoss Enterprise Application Platform 6 | Reporter: | Brad Maxwell <bmaxwell> | |
| Component: | EJB | Assignee: | Brad Maxwell <bmaxwell> | |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Jan Martiska <jmartisk> | |
| Severity: | unspecified | Docs Contact: | Russell Dickenson <rdickens> | |
| Priority: | unspecified | |||
| Version: | 6.2.0 | CC: | adebnath, kkhan, smumford | |
| Target Milestone: | DR0 | |||
| Target Release: | EAP 6.3.0 | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| 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) | Environment: | ||
| Last Closed: | 2014-06-28 15:38:51 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 1059914 | |||
Brad Maxwell <bmaxwell> updated the status of jira WFLY-2840 to Coding In Progress Verified in 6.3.0.DR0. Reproduced manually, plus the newly created test passes. |
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; @Startup @Singleton 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()); } }