我在Openfire小组中提出了这个问题,但那里似乎相当安静。也许在SO工作的人使用Xiff/Openfire,并对此有线索:
我们在Openfire 3.6.4到Xiff 3.0测试版上使用一个外部数据库来存储用户和组,并使用我们自己的客户端。
当在我们的数据库中添加用户时,花名册不会更新。我以"User1“的身份登录。"User2“被添加到数据库中的同一个共享组中,所以我应该在我的花名册中看到他。User2可以登录并在他的花名册上看到User1,但用户1的花名册尚未更新。即使在注销之后,User2仍然没有出现在用户1的花名册上。
显然,群组正在被缓存或其他什么。我应该在哪里寻找解决这个问题的方法?西夫?OpenFire?我在文档中找到了有关属性"cache.name.maxLifetime“的信息,但我不确定这是否是我应该用来让组更新成员的属性。
发布于 2009-12-18 22:59:27
如果有人来这里寻找这个问题的答案,你可以在这里找到答案:
Groups not updated on Roster from Database using custom DB
在Ignite实时论坛上有一个部分的解决方案。
发布于 2009-12-22 08:37:53
一种更好的方法是使用花名册协议(参见RFC 3921, section 7)来修改花名册,可能是通过为OpenFire编写一个组件。这将修改传输中的缓存,并向用户当前登录的客户端发送通知。同样,您也不会遇到更改被覆盖的问题。
https://stackoverflow.com/questions/1907502
复制相似问题