--- miscJava/Test3/src/dk/thoerup/schedulesamples/TimedEjb.java 2011/04/07 21:17:29 1280 +++ miscJava/Test3/src/dk/thoerup/schedulesamples/TimedEjb.java 2011/04/07 21:26:36 1281 @@ -24,26 +24,36 @@ @Resource private SessionContext sessionCtx; - + int count; public void startTimer() { + TimerService timerService = sessionCtx.getTimerService(); - Calendar now = Calendar.getInstance(); + //Timer timer = timerService.createTimer( (5 * 1000), null); //singleshot timer - //timerService.createTimer(10*1000, 5000, null); //repeating timer + timerService.createTimer(10*1000, 5000, null); //repeating timer // otherwise use schedule expression to create more complex schedules // in this case fire once every minute when the seconds is == 10 - ScheduleExpression se = new ScheduleExpression().second(10).minute("*").hour("*"); + //ScheduleExpression se = new ScheduleExpression().second(10).minute("*").hour("*"); + //System.out.println(se.toString()); + //timerService.createCalendarTimer( se ); - System.out.println(se.toString()); - timerService.createCalendarTimer( se ); + count = 0; } @Override public void ejbTimeout(Timer timer) { - System.out.print("timeout ...."); + + count++; + + System.out.print("timeout .... " + count); + + + if (count >= 10) { + timer.cancel(); + } } }