我在Openfire小组提出了这个问题,但那里看起来很安静。也许有人在这里与Xiff / Openfire合作,并对此有一个线索:
我们正在通过Xiff 3.0 beta和我们自己的客户端在Openfire 3.6.4上为用户和组使用外部数据库。
在我们的数据库中添加用户时,名单不会更新。我以“User1”身份登录。 “User2”被添加到同一个共享组的数据库中,所以我应该在我的名单中看到他。 User2可以登录并查看其名单上的User1,但User1的名单尚未更新。即使在注销后,User2仍然没有出现在User1的名单上。
显然该组正在被缓存或其他东西。我应该在哪里寻找解决此问题的方法? XIFF?开火?我发现文档中的属性“cache.name.maxLifetime”,但我不确定这是否是我应该使用的属性来让组更新成员。
答案 0 :(得分:1)
如果有人来这里寻找这个问题的答案,你可以在这里关注:
Groups not updated on Roster from Database using custom DB
在Ignite Realtime论坛上有一个部分解决方案。
答案 1 :(得分:0)
更好的方法是使用名册协议(参见RFC 3921, section 7)来修改名册,可能是通过为OpenFire编写一个组件。这将修改传输中的缓存,以及向当前为用户登录的客户端发送通知。同样,您的更改也不会被覆盖。