GUI -- Preventing UI web-socket from attempting to re-open when shutdown.
Change-Id: I4851542d20a3e20b085d42f1fa235909d42f05eb
Showing
1 changed file
with
7 additions
and
0 deletions
... | @@ -42,14 +42,18 @@ public class UiWebSocketServlet extends WebSocketServlet { | ... | @@ -42,14 +42,18 @@ public class UiWebSocketServlet extends WebSocketServlet { |
42 | private final Set<UiWebSocket> sockets = new HashSet<>(); | 42 | private final Set<UiWebSocket> sockets = new HashSet<>(); |
43 | private final Timer timer = new Timer(); | 43 | private final Timer timer = new Timer(); |
44 | private final TimerTask pruner = new Pruner(); | 44 | private final TimerTask pruner = new Pruner(); |
45 | + private boolean isStopped = false; | ||
45 | 46 | ||
46 | /** | 47 | /** |
47 | * Closes all currently open UI web-sockets. | 48 | * Closes all currently open UI web-sockets. |
48 | */ | 49 | */ |
49 | public static void closeAll() { | 50 | public static void closeAll() { |
50 | if (instance != null) { | 51 | if (instance != null) { |
52 | + instance.isStopped = true; | ||
51 | instance.sockets.forEach(UiWebSocket::close); | 53 | instance.sockets.forEach(UiWebSocket::close); |
52 | instance.sockets.clear(); | 54 | instance.sockets.clear(); |
55 | + instance.pruner.cancel(); | ||
56 | + instance.timer.cancel(); | ||
53 | } | 57 | } |
54 | } | 58 | } |
55 | 59 | ||
... | @@ -62,6 +66,9 @@ public class UiWebSocketServlet extends WebSocketServlet { | ... | @@ -62,6 +66,9 @@ public class UiWebSocketServlet extends WebSocketServlet { |
62 | 66 | ||
63 | @Override | 67 | @Override |
64 | public WebSocket doWebSocketConnect(HttpServletRequest request, String protocol) { | 68 | public WebSocket doWebSocketConnect(HttpServletRequest request, String protocol) { |
69 | + if (isStopped) { | ||
70 | + return null; | ||
71 | + } | ||
65 | UiWebSocket socket = new UiWebSocket(directory); | 72 | UiWebSocket socket = new UiWebSocket(directory); |
66 | synchronized (sockets) { | 73 | synchronized (sockets) { |
67 | sockets.add(socket); | 74 | sockets.add(socket); | ... | ... |
-
Please register or login to post a comment