users@glassfish.java.net

Re: EJB timer - missed expiration

From: Marina Vatkina <marina.vatkina_at_oracle.com>
Date: Tue, 22 Nov 2011 15:31:40 -0800

This is strange... Can you turn on ejb-container logging to see what is
the next timeout that is being calculated after the expiration? Is it
sepcific to Sundays?

thanks,
-marina

forums_at_java.net wrote:
> I've got a simple EJB timer running in GF 3.1.1 that should run a job
> every
> week on Sunday at 02:10
>
> [code] @Singleton public class ScheduledEventServiceBean {
> @Schedule(dayOfWeek = "Sun", hour = "2", minute = "10", persistent =
> true)
> public void weeklyCommissionAccounting() { log.info("Running weekly
> commission payment accounting {}", new DateTime()); ... }
> ... [/code] Sometimes the timer doesn't expire at the specified time
> and I
> get no warnings or errors in the logs at all. (the server is running 24x7
> with the app deployed) However on restart GF detects the missed
> expiration
> and will run the job, with an associated log entry: [code]
> [#|2011-11-21T11:59:41.211+0000|INFO|glassfish3.1.1|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=10;_ThreadName=Thread-2;|Rescheduling
>
> missed expiration for periodic timer '1@@1321073364851@@server@@domain1'
> 'TimedObject = ScheduledEventServiceBean' 'Application = leadseeker'
> 'CREATED' 'PERIODIC' 'Container ID = 86577862673629201' 'Sun Nov 13
> 02:10:00
> GMT 2011' '0' '0 # 10 # 2 # * # * # Sun # * # null # null # null # true #
> weeklyCommissionAccounting # 0' . Last timer expiration occurred at
> Sun Nov
> 13 02:10:01 GMT 2011|#] [/code] Any ideas why the expiration is not
> occuring at the correct time? As far as I cen tell the annotation is
> correct
> and the fact the GF recognises the event has been missed also
> indicates this.
> Any suggestions for debugging what could be going on here?
>
>
>
> --
>
> [Message sent by forum member 'buddypine']
>
> View Post: http://forums.java.net/node/866262
>
>