0

Quickfixj アプリを実行すると、一定時間後にメモリ不足の問題が発生します。少し調査した結果、これは、再送信要求が受信されたときに再送信のためにquickfixjがキャッシュするメッセージが原因であることがわかりました.

したがって、テストのために、特定のセッションでこのフラグを N に設定しました。その後、私の記憶の問題は完全になくなりました。しかし、このプロパティ FileStorePath を適切に設定したときに、quickfixj がこれらのメッセージをメモリに保持する理由がわかりません。これらのメッセージはファイルに保存する必要がありますが、そうではありません。FileStorePath で設定したディレクトリにいくつかのファイルが存在しますが、メッセージを保存しているようには見えません。それらのファイルにはシーケンス番号しか表示されません。これを機能させるには、これ以外のフラグを設定する必要がありますか?

テスト以外で PersisMessages フラグを使用する予定はありません。妥当な数値の FileStoreMaxCachedMsgs フラグを使用したいと思います。また、PersisMessages を N に設定したときにアプリが再送信要求を受信した場合にどうなるかを知る必要がありますか? 代わりに、quickfixj はギャップフィルを送信しますか、それとも何らかの例外メッセージでクラッシュしますか?

ありがとう

4

1 に答える 1

2

メッセージが見つからない場合、quickfixj がギャップ フィルを送信することがわかりました。また、構成フラグ FileStoreMaxCachedMsgs は、ファイルにプッシュする前にキャッシュに保持する必要があるメッセージの量を quickfixj に通知するために使用されます。したがって、私の意見では、このフラグを変更して、メッセージのキャッシュによってメモリが不足することなくアプリを動作させる必要があります。

誰かの役に立てば幸いです。ありがとう

于 2014-09-24T14:36:29.280 に答える