0

FIX MarketData メッセージを受信して​​内部アプリケーションに送信する FIX アプリケーションがあります。非常に大きなログが生成されるため、MarketData のログ記録を無効にしましたが、ストアでも同じ問題が発生します。ヒープ ダンプを見ると、TreeMap が継続的に成長していることがわかります。ほとんどの場合、TreeMap は FileStore にあるものです。
そのような場合、人々は何をしますか?
ありがとう

4

1 に答える 1

0
  1. CustomFileStoreインターフェイスを実装するクラスを作成しMessageStoreます。オブジェクトを受け取るコンストラクターを作成MessageStoreし、メンバーとして格納します。MessageStoreメソッドを除く、インターフェイス内のすべてのメソッドをMessageStoreメンバーに委譲しますset。メソッド フィルター メッセージの実装ではset、MarketData メッセージの場合は何もせず、そうでない場合setMessageStoreメンバーを呼び出します。
  2. CustomFileStoreFactoryから派生したクラスを作成しFileStoreFactory、メソッドをオーバーライドしますcreate。create メソッドで、コンストラクターに戻り値super.create(FileStoreオブジェクト) を渡す CustomFileStore を作成します。
  3. のインスタンスを に渡しCustomFileStoreFactoryますSocketInitiator

これはかなりハックであり、他に方法がない限り、自分でこれを行うことはありません (自分でこれを行ったことはありません)。MessageStore.getで を呼び出すと、CustomFileStore予期しない動作 (例外、または誤った結果) が発生する可能性があります。したがって、これを行うことはお勧めしません。

于 2015-04-20T17:37:12.797 に答える