Quickfixj アプリを実行すると、一定時間後にメモリ不足の問題が発生します。少し調査した結果、これは、再送信要求が受信されたときに再送信のためにquickfixjがキャッシュするメッセージが原因であることがわかりました.
したがって、テストのために、特定のセッションでこのフラグを N に設定しました。その後、私の記憶の問題は完全になくなりました。しかし、このプロパティ FileStorePath を適切に設定したときに、quickfixj がこれらのメッセージをメモリに保持する理由がわかりません。これらのメッセージはファイルに保存する必要がありますが、そうではありません。FileStorePath で設定したディレクトリにいくつかのファイルが存在しますが、メッセージを保存しているようには見えません。それらのファイルにはシーケンス番号しか表示されません。これを機能させるには、これ以外のフラグを設定する必要がありますか?
テスト以外で PersisMessages フラグを使用する予定はありません。妥当な数値の FileStoreMaxCachedMsgs フラグを使用したいと思います。また、PersisMessages を N に設定したときにアプリが再送信要求を受信した場合にどうなるかを知る必要がありますか? 代わりに、quickfixj はギャップフィルを送信しますか、それとも何らかの例外メッセージでクラッシュしますか?
ありがとう