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