我聊天哪个映射到静态URL。我需要有机会为用户创造空间。
如何在app已经运行时在注释@ServerEndpoint("/myVariable")
中注入变量?
class SomeClass{
public void createRoom(User user) {
String name = user.getName();
//...Somehow inject name to annotation @ServerEndpoint("/name")...
}
}
@ServerEndpoint("/chat") //May be replace to @ServerEndpoint(someGetteUserName())
public class ChatEndpoint {
@OnMessage
public void message(String message, Session client)
throws IOException, EncodeException {
for (Session peer : client.getOpenSessions()) {
peer.getBasicRemote().sendText(message);
}
}
}
我不使用Spring这是明确的websocket和Glassfish。
帮我创建注释的实现变量注入。谢谢。
答案 0 :(得分:1)
如果您只想创建和处理聊天室,我认为您不需要任何注入。您只需要通过独立于端点的Java代码来处理它。
我建议你:
@ServerEndpoint("/chat"/{client_id})
。此客户端ID pathParam可用作会话ID。static
< =>所有线程之间通用)。message = {...,“room”:“room1”,...}