tomee-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shawn Jiang (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (OPENEJB-1520) NoMoreTimeoutsException for single action timer.
Date Tue, 12 Apr 2011 09:22:05 GMT

     [ https://issues.apache.org/jira/browse/OPENEJB-1520?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Shawn Jiang updated OPENEJB-1520:
---------------------------------

    Attachment: 0001-OPENEJB-1520-NoMoreTimeoutsException-for-single-acti.patch

A updated patch to init the trigger after the creation according to Ivan's suggestion.

> NoMoreTimeoutsException for single action timer.
> ------------------------------------------------
>
>                 Key: OPENEJB-1520
>                 URL: https://issues.apache.org/jira/browse/OPENEJB-1520
>             Project: OpenEJB
>          Issue Type: Bug
>          Components: ejb31
>    Affects Versions: (trunk/openejb3)
>            Reporter: Shawn Jiang
>             Fix For: 4.0
>
>         Attachments: 0001-OPENEJB-1520-NoMoreTimeoutsException-for-single-acti.patch,
0001-OPENEJB-1520-NoMoreTimeoutsException-for-single-acti.patch
>
>
> The single action timer data set the expiration as start time of the simple trigger,
so that nextFireTime of simple trigger is still null after the initialization process.
> org.apache.openejb.core.timer.SingleActionTimerData.initializeTrigger()
>  @Override
>     public Trigger initializeTrigger() {
>         final SimpleTrigger simpleTrigger = new SimpleTrigger();
>         simpleTrigger.setStartTime(expiration);
>         return simpleTrigger;
>     }
> As a result,  following method will always throw NoMoreTimeoutsException exceptions for
single action timer.
> org.apache.openejb.core.timer.TimerData.getNextTimeout() {
> ...
>         Date nextTimeout = trigger.getNextFireTime();
>         if (nextTimeout == null) {
>             throw new NoMoreTimeoutsException("The timer has no future timeouts");
> ...
> }
> To correct this, 
> simpleTrigger.setStartTime(expiration);   
> should be updated to
> simpleTrigger.setNextFireTime(expiration);

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message