Ejabberd - 在 mysql 中存储离线消息

Ejabberd - store offline messages in mysql

目前,我们应用程序的 ejabberd 服务器实例 运行 未在 mysql 中存储离线消息。示例:用户 'foo' 向其名册中的另一个用户 'bar' 发送消息。在 bar 连接到 ejabberd 服务器之前,消息不会显示在 mysql 数据库的存档 table 中,配置了 ejabberd。

这意味着来自 foo 的消息存储在 mnesia table 中,直到 bar 上线,然后存储在 mysql 的存档中 table。我需要在 bar 连接之前访问这些数据。两种方式:-

哪种方式更好,如何实现?

(这里假设离线数据存储在mnesia中。我没有验证过相同但在线文章指向相同)

更新

mod_offline 仅设置为 odbc。我刚刚发现的是离线消息存储在假脱机 table 中,直到用户连接到 ejabberd,之后它们被推送到存档 table

在您的ejabberd.yml(配置文件)中设置以下行-

 mod_offline: 
    access_max_user_messages: max_user_offline_messages
    db_type: odbc

如果 ejabberd 连接到 mysql,它会工作。ejabberd mysql connection configuration is here