|
|
@@ -1,38 +0,0 @@
|
|
|
-package com.izouma.meta.service;
|
|
|
-
|
|
|
-import javax.websocket.ClientEndpoint;
|
|
|
-import javax.websocket.ContainerProvider;
|
|
|
-import javax.websocket.Session;
|
|
|
-import javax.websocket.WebSocketContainer;
|
|
|
-import java.net.URI;
|
|
|
-import java.util.concurrent.Executors;
|
|
|
-import java.util.concurrent.ScheduledExecutorService;
|
|
|
-import java.util.concurrent.TimeUnit;
|
|
|
-
|
|
|
-@ClientEndpoint
|
|
|
-public class WebSocketClient {
|
|
|
- private Session session;
|
|
|
-
|
|
|
- public WebSocketClient(URI uri) {
|
|
|
- try {
|
|
|
- WebSocketContainer container = ContainerProvider.getWebSocketContainer();
|
|
|
- container.connectToServer(this, uri);
|
|
|
- } catch (Exception e) {
|
|
|
- throw new RuntimeException(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- public void startSendingMessages(String message, long intervalSeconds) {
|
|
|
- ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
|
|
|
- executor.scheduleAtFixedRate(() -> sendMessage(message), 0, intervalSeconds, TimeUnit.MILLISECONDS);
|
|
|
- }
|
|
|
-
|
|
|
- private void sendMessage(String message) {
|
|
|
- try {
|
|
|
- session.getBasicRemote().sendText(message);
|
|
|
- } catch (Exception e) {
|
|
|
- throw new RuntimeException(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-}
|