|
0
|
| Fernando Camargo · 技术社区 · 13 年前 |
|
|
1
0
我找到了以下解决方案: 我创建了一个spring的singleton bean,它有一个使用Guava的MapMaker创建的Map。该映射具有弱值(有关弱引用的详细信息,请点击此处: http://weblogs.java.net/blog/2006/05/04/understanding-weak-references ). 然后我有了一个春季会话bean。这个会话bean向singleton请求一个用于传递客户端id的聊天的实例。singleton,验证映射中是否有内容。如果没有,它会创建一个新的聊天实例,放入映射并返回它。会话bean为这个聊天实例维护一个引用。如果用户在不同的浏览器中登录,一个新的会话bean也会执行同样的操作。这一次,它将获得保存在地图中的实例。当没有更多引用聊天实例的会话bean时,它将被垃圾收集,因为映射对它有一个弱引用。 |