我已经阅读了Java EE文档,但仍有一个不太清楚的问题。根据API,唯一找到其他Session的方法是使用以下代码(假设我们已经有另一个session的标识符):
import javax.websocket.Session;
...
private static Session findOtherSessionById(Session user, String id) {
for (Session session : user.getOpenSessions()) {
if (id.equals(session.getId())) {
return session;
}
}
return null;
}
但是当我们有成千上万的用户时,这段代码就成为了性能瓶颈。
那么,有没有一种快速获取会话ID的方法,而不需要使用自己的ConcurrentHashMap呢?或者某些应用服务器是否有未记录的功能(对我来说Wildfly很好)?