aboutsummaryrefslogtreecommitdiff
path: root/juick-notifications/src/main/java/com/juick/components/service/JuickServerReconnectManager.java
blob: b490c154516fe2d47bde8f937b97e4d0b6491284 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.juick.components.service;

import com.juick.service.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.annotation.Nonnull;
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(@Nonnull DisconnectedEvent event) {
        logger.info("retrying...");
        webSocketConnectionManager.stop();
        webSocketConnectionManager.start();
    }
}