diff --git a/src/main/java/com/ntlab/irisserver/WebSocketConfig.java b/src/main/java/com/ntlab/irisserver/WebSocketConfig.java index 9f7f418..28472de 100644 --- a/src/main/java/com/ntlab/irisserver/WebSocketConfig.java +++ b/src/main/java/com/ntlab/irisserver/WebSocketConfig.java @@ -17,10 +17,10 @@ //registry.addHandler(helloWorldWebSocket2(), "/hello-websocket2"); } - @Bean - public HelloWebSocket helloWebSocket() { - return new HelloWebSocket(); - } +// @Bean +// public HelloWebSocket helloWebSocket() { +// return new HelloWebSocket(); +// } @Bean public ServerEndpointExporter serverEndpointExporter() { diff --git a/src/main/java/com/ntlab/irisserver/resources/HelloWorld.java b/src/main/java/com/ntlab/irisserver/resources/HelloWorld.java index a169898..e65816f 100644 --- a/src/main/java/com/ntlab/irisserver/resources/HelloWorld.java +++ b/src/main/java/com/ntlab/irisserver/resources/HelloWorld.java @@ -10,7 +10,7 @@ public class HelloWorld { @GET public String getHello() { - return "WebSocketのデモの追加。12/15-16:55"; + return "WebSocketのデモの追加。12/15-17:30"; } } diff --git a/src/main/java/com/ntlab/irisserver/websockets/HelloWebSocket.java b/src/main/java/com/ntlab/irisserver/websockets/HelloWebSocket.java index 8352029..2eceb16 100644 --- a/src/main/java/com/ntlab/irisserver/websockets/HelloWebSocket.java +++ b/src/main/java/com/ntlab/irisserver/websockets/HelloWebSocket.java @@ -17,43 +17,43 @@ // 5秒に1回HelloWorldを送るデモ @ServerEndpoint("/hello-websocket") public class HelloWebSocket { -// private static final Queue sessions = new ConcurrentLinkedQueue<>(); -// -// static { -// ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor(); -// service.scheduleWithFixedDelay(HelloWebSocket::broadcast, 5, 5, TimeUnit.SECONDS); -// } -// -// @OnMessage -// public String onMessage(String message) { -// System.out.println("WebSocketで受信したメッセージ/ " + message); -// return "WebSocketでメッセージを正常に受信しました!"; -// } -// -// @OnError -// public void onError(Throwable th) { -// System.out.println("WebSocketエラーが発生/ " + th.getMessage()); -// } -// -// @OnOpen -// public void onOpen(Session session) { -// System.out.println("WebSocketセッション確立"); -// sessions.add(session); -// } -// -// @OnClose -// public void onClose(Session session) { -// System.out.println("WebSocketセッション終了"); -// sessions.remove(session); -// } + private static final Queue sessions = new ConcurrentLinkedQueue<>(); -// public static void broadcast() { -// Date now = new Date(); -// SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); + static { + ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor(); + service.scheduleWithFixedDelay(HelloWebSocket::broadcast, 5, 5, TimeUnit.SECONDS); + } + + @OnMessage + public String onMessage(String message) { + System.out.println("WebSocketで受信したメッセージ/ " + message); + return "WebSocketでメッセージを正常に受信しました!"; + } + + @OnError + public void onError(Throwable th) { + System.out.println("WebSocketエラーが発生/ " + th.getMessage()); + } + + @OnOpen + public void onOpen(Session session) { + System.out.println("WebSocketセッション確立"); + sessions.add(session); + } + + @OnClose + public void onClose(Session session) { + System.out.println("WebSocketセッション終了"); + sessions.remove(session); + } + + public static void broadcast() { + Date now = new Date(); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); // sessions.forEach(session -> { // session.getAsyncRemote().sendText("HelloWorld! : " + formatter.format(now)); // }); - //} + } } \ No newline at end of file