Source 12.1.3. Running the Example Program – Declarative Scheduling
OCP JavaEE 6 EJB Developer Study Notes by Ivan A Krizsan Version: April 8, 2012
I had modified the example on Eclipse as below:
@Schedule(second = "20, 45", minute = "*", hour = "6-23",
dayOfWeek = "Mon-Sun", dayOfMonth = "*", month = "*", year = "*",
info = "MyTimer")
private void scheduledMethod1(final Timer inTimer)
Below is the output :
As written in the explanation for the example,
scheduling collisions are resolved by GlassFish by creating a new instance of the stateless session bean and invoking the timeout callback method to be executed next on the new instance
Question 1-A:When it is decided to create a new instance ?
As seen in the output provided,the new instance is created when a new timeout callback method is to created. eg:
scheduledMethod1 is executed with a different instance after scheduledMethod2 is executed
Question 1-B:So,when will the next instance be created ?
I see that both the methods keep on executing with instance 2 and 3 in a random order.
Question 2:So,will these methods stop executing after the criteria in the cancelOverdue is met or there is any other way too ?
I have configured the hour to be hour = "6-23".
Question 3 :So, shouldn't the timer till run 23 hr ? ( I see it running past 23 too,Please see
in the output provided)