Ejabberdサーバーを正常にデプロイし、モバイルアプリケーションと統合しました。
すべてがうまく機能しますが、サーバーを再起動するたびに、すべての部屋の履歴が失われます。実際には、それはまだデータベースに保存されていますが、クライアントはそれを取得できなくなりました。
最初はクライアントの問題だと思っていましたが、XabberやPidginなどの有名なクライアントを使用して同じことを経験しました。
構成チュートリアルを何度もチェックしました https://docs.ejabberd.im/admin/configuration/#mod-muc しかし、何も見つかりませんでした。
あなたたちに似たようなことが起こったことがありますか?この予期しない動作の背後にある理由は何でしょうか?
サーバーでmoc_mucを構成する方法は次のとおりです。
mod_muc:
Host: "conf.example.com"
history_size: 1000
max_users: 1000000
max_user_conferences: 1000
default_room_options:
mam: true
max_users: 1000000
members_by_default: true
members_only: false
password_protected: false
persistent: true
public: true
moderated: false
anonymous: false
サーバーを再起動するたびに、すべての部屋の履歴が失われます。
部屋の最近のディスカッション履歴は、永続的に保存されることは想定されていないため、RAMにのみ保存されます。オプションhistory_sizeで構成されており、新しい居住者が最近のコメントを知ることしかできないため、高い値を設定しても意味がありません。現在の議論で。ロギング用でも、ストレージ用でも、アーカイブ用でもありません。現在の会話が何であるかを知るだけです。 https://xmpp.org/extensions/xep-0045.html#enter-history を参照してください
実際には、それはまだデータベースに保存されていますが、クライアントはそれを取得できなくなりました。
データベースに技術的に保存されているのは、前述の部屋の「ディスカッション履歴」ではありません。これは、mamオプションで有効にしたルームディスカッションアーカイブです。これにより、すべてのルームメッセージが永続的にデータベースに保存されます。そのため、将来いつでも相談することができます。 https://docs.ejabberd.im/admin/configuration/#mod-mam を参照してください