diff --git a/test/org/redkale/test/ws/ChatService.java b/test/org/redkale/test/ws/ChatService.java index 5ed3c4928..68636ab28 100644 --- a/test/org/redkale/test/ws/ChatService.java +++ b/test/org/redkale/test/ws/ChatService.java @@ -8,6 +8,8 @@ package org.redkale.test.ws; import java.util.*; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicInteger; +import javax.annotation.Resource; +import org.redkale.net.http.WebSocketNode; import org.redkale.service.*; import org.redkale.util.Comment; @@ -25,6 +27,9 @@ public class ChatService implements Service { protected final AtomicInteger idcreator = new AtomicInteger(10000); + @Resource(name = "chat") + protected WebSocketNode wsnode; + @Comment("创建一个用户ID") public int createUserid() { return idcreator.incrementAndGet(); @@ -34,6 +39,11 @@ public class ChatService implements Service { public boolean joinRoom(int userid, int roomid) { userToRooms.put(userid, roomid); roomToUsers.computeIfAbsent(roomid, (id) -> new CopyOnWriteArrayList()).add(userid); + System.out.println("加入房间: roomid: " + roomid); return true; } + + public void chatMessage(ChatMessage message) { + wsnode.broadcastMessage(message); + } } diff --git a/test/org/redkale/test/ws/ChatWebSocket.java b/test/org/redkale/test/ws/ChatWebSocket.java index db584ee5b..df1f4c8e1 100644 --- a/test/org/redkale/test/ws/ChatWebSocket.java +++ b/test/org/redkale/test/ws/ChatWebSocket.java @@ -5,7 +5,6 @@ */ package org.redkale.test.ws; -import java.lang.reflect.Method; import java.util.*; import java.util.concurrent.CompletableFuture; import javax.annotation.Resource; @@ -72,7 +71,7 @@ public class ChatWebSocket extends WebSocket { message.fromuserid = getUserid(); message.fromusername = "用户" + getUserid(); System.out.println("获取消息: message: " + message + ", map: " + extmap); - super.broadcastMessage(message); + service.chatMessage(message); } /** @@ -90,16 +89,6 @@ public class ChatWebSocket extends WebSocket { @RestOnMessage(name = "joinroom") public void onJoinRoom(int roomid) { service.joinRoom(getUserid(), roomid); - System.out.println("加入房间: roomid: " + roomid); - } - - public static void main(String[] args) throws Throwable { - - Method method = Arrays.asList(Rest.class.getDeclaredMethods()) - .stream().filter(m -> "createRestWebSocketServlet".equals(m.getName())) - .findFirst().get(); - method.setAccessible(true); - System.out.println(method.invoke(null, Thread.currentThread().getContextClassLoader(), ChatWebSocket.class)); } }