Grails XMPP 聊天网站

Posted

技术标签:

【中文标题】Grails XMPP 聊天网站【英文标题】:Grails XMPP Chat Website 【发布时间】:2013-09-03 21:15:11 【问题描述】:

我正在尝试使用 Smack 库和 Openfire 创建一个聊天网站。我的问题是,当我使用第二个用户登录时,第一个用户会被覆盖。我不明白为什么。当我登录时,我创建了一个新连接,然后将该连接保存在一个地图中,其中的键是来自我的本地数据库(来自用户表)的一个 ID。因此,当我使用第二个用户登录时,它应该创建一个新连接,将该连接保存到地图,使用不同的密钥,然后是第一个。当我创建一个新连接时,我也会启动一个新线程。那么为什么第一个用户的连接会被覆盖呢?

【问题讨论】:

【参考方案1】:

您使用的是 Spring Social Facebook 插件吗?我对 Grails 2.1 也有同样的问题。我通过升级到 2.2.3 解决了它。

【讨论】:

我正在使用 grails 2.2.3。通过使用:'def currentRequest = RequestContextHolder.requestAttributes' 解决了这个问题,并在 currentRequest 中保存了登录用户的信息,如下所示:'currentRequest["something] = ...userinfo...' 现在我有另一个问题:我有一个包含登录用户信息的类,在那个类中我有几个监听器:消息监听器等。它们都工作正常,除了一个:邀请监听器,如果我有一个邀请群聊与否。此侦听器有时有效,有时无效...

以上是关于Grails XMPP 聊天网站的主要内容,如果未能解决你的问题,请参考以下文章

在 Groovy/Grails 中使用 JSON 创建对象

Grails:一个数据库和多个应用程序

Java/Grails 环境中用户通知的最佳解决方案架构?

Grails 文件上传问题

Grails 的用户管理插件/框架?

如何设置永远记住我或登录grails?