aboutsummaryrefslogtreecommitdiff
path: root/juick-server-web/src/main/java/com/juick/server/component/JuickServerReconnectManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-server-web/src/main/java/com/juick/server/component/JuickServerReconnectManager.java')
-rw-r--r--juick-server-web/src/main/java/com/juick/server/component/JuickServerReconnectManager.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/juick-server-web/src/main/java/com/juick/server/component/JuickServerReconnectManager.java b/juick-server-web/src/main/java/com/juick/server/component/JuickServerReconnectManager.java
new file mode 100644
index 00000000..a662e4fb
--- /dev/null
+++ b/juick-server-web/src/main/java/com/juick/server/component/JuickServerReconnectManager.java
@@ -0,0 +1,22 @@
+package com.juick.server.component;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.ApplicationListener;
+import org.springframework.stereotype.Component;
+import org.springframework.web.socket.client.WebSocketConnectionManager;
+
+import javax.inject.Inject;
+
+@Component
+public class JuickServerReconnectManager implements ApplicationListener<DisconnectedEvent> {
+ private static Logger logger = LoggerFactory.getLogger(JuickServerReconnectManager.class);
+ @Inject
+ private WebSocketConnectionManager webSocketConnectionManager;
+ @Override
+ public void onApplicationEvent(DisconnectedEvent event) {
+ logger.info("retrying...");
+ webSocketConnectionManager.stop();
+ webSocketConnectionManager.start();
+ }
+}