如何使用在另一个ServerEndpoint中的一个ServerEndpoint中创建的哈希图

时间:2018-12-31 17:14:42

标签: java-ee hashmap java-websocket

我想使用在另一个类(也是ServerEndpoint)的一个类(websocket ServerEndpoint)中创建的哈希映射。第一类中的哈希图是静态的。为了能够在第二堂课中访问它,我在第一堂课中做了一个吸气剂(这也是静态的)。在第二个类中,我创建了一个实例变量,该变量调用第一个类的getter。我遇到的问题是,仅在重新部署应用程序之后,哈希映射的值才可用。

//头等舱

@ServerEndpoint(value = "/game/{gameId}")
public class GameEndpoint extends WebsocketEndpoint {
private static HashMap<String, User> users = new HashMap<>();

users.put(session.getId(), user);

public static HashMap<String, User> getUsersMap() {
    return users;
}
}

//二等舱

@ServerEndpoint(value = "/invite/{userToken}")
public class InviteWebsocketEndpoint extends WebsocketEndpoint{
@OnMessage
public void onMessage(Session session, String json) throws 
IOException, EncodeException {
    GameEndpoint ge = new GameEndpoint();
    HashMap<String, User> users = new HashMap<>(ge.getUsersMap());
}
}

0 个答案:

没有答案