2016-05-12 6 views
1

現在、私たちのアプリケーション用に実行されているejabberdサーバインスタンスは、mysqlにオフラインメッセージを格納していません。例:ユーザー 'foo'は、その名簿にある別のユーザー 'bar'にメッセージを送信します。 barがejabberdサーバに接続するまで、ejabberdで設定されたmysqlデータベースのアーカイブテーブルにメッセージは表示されません。Ejabberd - mysqlにオフラインメッセージを格納します

これは、バーがオンラインになるまで、そしてmysqlのアーカイブテーブルに入るまで、fooからのメッセージがmnesiaテーブルに保存されることを意味します。バーがつながる前にこのデータにアクセスする必要があります。 2つの方法: -

  • mnesiaデータベースにアクセスし、メッセージを照会します。私はバーのアカウントからログインして

方法が良いとどのように同じことを達成することであるMySQLでのすべてのメッセージ

  • ストアオフラインメッセージにアクセスすることなく、遊びのフレームワークを使用してmnesiaにアクセスする方法がわからないのですか?

    (仮定は、ここでは、オフラインのデータがmnesiaに格納されている。私は同じですが、オンラインの記事が同じにポイントを検証haventは)

    UPDATE

    mod_offlineのみODBCように設定しました。私はちょうど見つけたことは、ユーザがejabberdに接続するまで、オフラインメッセージはその後、彼らはあなたのejabberd.yml(設定ファイル)では、アーカイブテーブル

  • 答えて

    0

    にプッシュされている、スプールテーブルに格納されていることであるが、以下のlines-

    mod_offline: 
        access_max_user_messages: max_user_offline_messages 
        db_type: odbc 
    
    を設定しました

    ejabberdがmysqlに接続されていると動作します。 ejabberd mysql connection configuration is here

    関連する問題