aboutsummaryrefslogtreecommitdiff
path: root/juick-notifications/src/main/java/com/juick/components/service/JuickServerReconnectManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-notifications/src/main/java/com/juick/components/service/JuickServerReconnectManager.java')
-rw-r--r--juick-notifications/src/main/java/com/juick/components/service/JuickServerReconnectManager.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/juick-notifications/src/main/java/com/juick/components/service/JuickServerReconnectManager.java b/juick-notifications/src/main/java/com/juick/components/service/JuickServerReconnectManager.java
new file mode 100644
index 00000000..f83a3aa0
--- /dev/null
+++ b/juick-notifications/src/main/java/com/juick/components/service/JuickServerReconnectManager.java
@@ -0,0 +1,23 @@
+package com.juick.components.service;
+
+import com.juick.server.component.DisconnectedEvent;
+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();
+ }
+}