Коллекции VAVR являются «неизменяемыми».
Итак, если у меня есть статическая переменная, например, содержащая все сеансы WebSocket, как мне использовать VAVR, чтобы коллекция была потокобезопасной?
Например:
@ServerEndpoint("/actions")
public class DeviceWebSocketServer {
private static Set<Session> sessions = //???; // how should I initialize this?
@OnOpen
public void open(Session session) {
sessions = sessions.add(session); // is this OK???
}
@OnClose
public void close(Session session) {
sessions = sessions.remove(session); // is this OK??
}
}