aboutsummaryrefslogtreecommitdiff
path: root/juick-server-web/src/main/java/com/juick/server/component/JuickServerReconnectManager.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2017-11-02 16:02:17 +0300
committerGravatar Vitaly Takmazov2017-11-02 16:12:40 +0300
commitee20020d9c576a48173c13b68b03d349c0ec3e47 (patch)
tree7c59dcac74cde4e5b819a245dc0fbbb315020f10 /juick-server-web/src/main/java/com/juick/server/component/JuickServerReconnectManager.java
parent61c6a3fe338a5cbbef55081f8ac26011c053125d (diff)
server-web: base websocket component with autoreconnect
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();
+ }
+}