Как использовать хэш-карту, созданную в одной ServerEndpoint в другой ServerEndpoint
Я хочу использовать хэш-карту, созданную в одном классе (websocket ServerEndpoint) в другом классе (также ServerEndpoint). Хэш-карта в первом классе является статической. Чтобы иметь доступ к нему во втором классе, я создал геттер в первом классе (который также является статическим). Во втором классе я сделал переменную экземпляра, которая вызывает метод получения первого класса. Проблема, которую я пересекаю, заключается в том, что значения хэш-карты доступны только после повторного развертывания приложения.
//первый класс
@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());
}
}