我在 ejabberd 上工作了很长一段时间,我正在用内部的 Ejabberd 替换第三方聊天基础设施。因为它是生产切换,所以我们需要在切换到 ejabberd 时维护以前的聊天消息。
所以我创建了所有的花名册,将用户迁移到 ejabberd,一切正常,现在我面临的主要挑战是消息迁移。我正在为用户、名册和消息使用 mysql。我正在运行一个脚本,该脚本直接将数据从先前的聊天内容推送到 ejabberd mysql。
但是当我连接到用户时,我可以看到通过 ejabberd 发送的新聊天消息,但是同一用户的迁移聊天不可见,也不会传播回客户端。
有人可以帮忙吗?
这是我在 mysql 中输入的两个条目,第一个是 ejabberd 条目,另一个是手动条目,客户端能够同步第一个但不能同步另一个。
username timestamp peer bare_peer xml txt id kind nick created_at
xyz-customer 1454573488523175 abc-provider@xxx.amazonaws.com abc-provider@xxx.amazonaws.com "<message from='xyz-customer@xxx.amazonaws.com/2131165549e1bc6553-32b9-4ec4-92bd-c9ed80fb5374' to='abc-provider@xxx.amazonaws.com' xml:lang='en' id='oG3Vb-568' type='chat'><body> CnsfjffsjJ</body><thread>90275196-0096-4bb4-a95d-d72ea5238f74</thread><request xmlns='urn:xmpp:receipts'/><delay xmlns='urn:xmpp:delay' stamp='2016-02-04T08:11:27.194+00:00' from='xyz-customer@xxx.amazonaws.com/2131165549e1bc6553-32b9-4ec4-92bd-c9ed80fb5374'/><markable xmlns='urn:xmpp:chat-markers:0'/><request xmlns='urn:urbanclap:request' requestId=''/><active xmlns='http://jabber.org/protocol/chatstates'/></message>" " CnsfjffsjJ" 208044 chat "2016-02-04 08:11:28"
xyz-customer 1454570506606317 abc-provider@xxx.amazonaws.com abc-provider@xxx.amazonaws.com "<message from='xyz-customer@xxx.amazonaws.com' to='abc-provider@xxx.amazonaws.com' xml:lang='en' id='I5sO7-2' type='chat'><body>GB hard</body><request xmlns='urn:xmpp:receipts'/><markable xmlns='urn:xmpp:chat-markers:0'/><active xmlns='http://jabber.org/protocol/chatstates'/></message>" "GB hard" 208045 chat NULL "2016-02-04 07:21:46"