1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.example.demo;
21
22 import org.slf4j.Logger;
23 import org.slf4j.LoggerFactory;
24
25 import javax.enterprise.context.SessionScoped;
26
27
28 import javax.inject.Inject;
29 import javax.inject.Named;
30 import java.io.Serializable;
31 import java.lang.invoke.MethodHandles;
32 import java.util.concurrent.Executors;
33 import java.util.concurrent.ScheduledExecutorService;
34 import java.util.concurrent.TimeUnit;
35
36 @SessionScoped
37 @Named
38 public class WebSocketController implements Serializable {
39
40 private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
41
42 private ScheduledExecutorService scheduledExecutorService;
43
44 @Inject
45
46
47
48 public String startClock() {
49 if (scheduledExecutorService == null || scheduledExecutorService.isShutdown()) {
50 scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
51 }
52
53 scheduledExecutorService.scheduleAtFixedRate(new Runnable() {
54 @Override
55 public void run() {
56
57 }
58 }, 0, 17, TimeUnit.MILLISECONDS);
59 return null;
60 }
61
62 public String stopClock() {
63 if (scheduledExecutorService != null && !scheduledExecutorService.isShutdown()) {
64 scheduledExecutorService.shutdown();
65 }
66 return null;
67 }
68 }