1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.jboss.as.quickstarts.ejbTimer;
18
19 import java.text.SimpleDateFormat;
20 import java.util.Date;
21 import javax.annotation.PostConstruct;
22 import javax.annotation.PreDestroy;
23 import javax.annotation.Resource;
24 import javax.ejb.*;
25 import javax.interceptor.InvocationContext;
26
27
28
29
30
31
32
33 @Singleton
34 @Startup
35 public class TimeoutExample {
36
37 @Resource
38 private TimerService timerService;
39
40 @Timeout
41 public void scheduler(Timer timer) {
42 Date currentTime = new Date();
43 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z");
44 System.out.println("TimeoutExample.scheduler() " + timer.getInfo() + simpleDateFormat.format(currentTime));
45 }
46
47 @PostConstruct
48 public void initialize( InvocationContext ctx ) {
49 ScheduleExpression se = new ScheduleExpression();
50
51 se.hour("*").minute("*").second("0/3");
52 timerService.createCalendarTimer( se, new TimerConfig("EJB timer service timeout at ", false) );
53 }
54
55 @PreDestroy
56 public void stop() {
57 System.out.println("EJB Timer: Stop timers.");
58 for (Timer timer : timerService.getTimers()) {
59 System.out.println("Stopping timer: " + timer.getInfo());
60 timer.cancel();
61 }
62 }
63 }