2012-01-05 11 views
1

私は、Acceptor FIXエンジンに注文を送信するためにQuickFix/J(FIX 4.2)に取り組んでいます。基本的に私は2つのアカウントのヘルプが必要です。私が最初にアクセプタとの接続を確立しようとするとQuickFixシーケンスリセットが動作しない

  1. を、アクセプターは、「メッセージのSeqんが低すぎる」と言っていない初期ログオン要求を拒否します。この後、私のイニシエータは、発信シーケンス番号を1だけインクリメントします。といいます。アクセサーエンジンのマッチで予期されるように、私は安定した接続を得る。このプロセスをスピードアップするために、私は予想されるseqを抽出し始めました。いいえ。アクセプタエンジンによって送信された拒否メッセージから、発信シーケンス番号を変更しました。私のエンジンのために使用

    session.setNextTargetMsgSeqNum(expectedSeqNo). 
    

    しかし、後で、私のエンジンが着信シーケンス番号を見つけた場合。予想よりも高い場合、Resend要求を送信します。それに応答して、相手はSequence Reset msg(35 = 4,123 = Y)を返送する。今、このmsgを受信した後、着信seq番号。私のエンジンはSeq Reset msgから受け取ったものに自動的に設定されるべきです。しかし、これは起こりませんし、私のエンジンは、着信seq番号に変更を加えずにメッセージを再送するよう求めています。興味深いことに、最初の場所で(setNextTargetMsgSeqNumを使って)発信seq noを明示的に変更しないと、この問題が発生することがわかりました。

    Sequence Reset Msgを取得したときにエンジンが正常に動作しないのはなぜですか?

  2. 私は相手と話しましたが、彼らは自分の設定でResetOnLogon = Yを持っていません。だから私のエンジンが来るたびに、それはしばしばseq noでLogonリクエストを送る。予想よりも低い(1から始まる)。接続をすばやく設定するより良い方法はありますか?私のエンジンは何とかシーケンス番号を使用するようにすることができますように。それが降りる直前のポイントから再開しますか?理想的なアプローチは何でしょうか?

このように、メッセージをシーケンス番号を処理しているファイルに保存しています。しかし、もう一度問題が起きるのは、私のQuickfixイニシエータエンジンがSequence Resetメッセージに応答していないことです。管理者のコールバックはまったくありません。

私は、あるサーバーからアクセサーに接続してからそのセッションを閉じ、同じセッションIDを使用してアクセサーに接続するために別のサーバーを使用しているときに、ほとんど常にシーケンスリセットメッセージへの応答が起こっていないことに気付きました。ログオンが受け入れられると、正常に動作することが期待されます。しかし、他のエンジンがシーケンス番号を特定の番号(基本的にはギャップ充填)に送信している間、私の修正エンジンはそれに応答せず、予期されるシーケンス番号をリセットせず、アクセプタに再送要求を送信し続けます。どんな助けでも大歓迎です!

答えて

9

通常のFIXセッションでは、セッションの開始時刻と終了時刻を設定し、エンジンにシーケンス番号を管理させます。たとえば、セッションが午前8時から午後4時30分まで有効である場合、QuickFIX/Jは午前8時以降にエンジンが最初に起動したときに発信番号と着信番号を自動的に1にリセットします(8:エンジンがその時点で既に始動している場合は00 AM)。

(質問#1)。 Sequence Reset後にエンジンが新しい着信シーケンス番号を使用するようにしてください。数千人のQuickFIX/Jユーザーにとってこれが適切に機能することを考えれば、その動作を変更する可能性のあることを考えてください。たとえば、管理メッセージコールバックがあり、例外がスローされている可能性があります。ヒントがあるかどうかを調べるためにログファイルを見ましたか?

(質問#2)。永続的なMessageStore(FileStore、JdbcStoreなど)を使用している場合)再起動すると、発信シーケンス番号が利用可能になります。

+0

フランクに感謝します。あなたの返信は大いに役立った。確かにコールバックの例外がありました!永続的なMessageStoreの方向性も役立ちます。 – Leo

+0

偉大な、私はそれが助けて聞いてうれしい。あなたは答えを受け入れるつもりですか? :-) –

+0

はい。絶対に! – Leo

関連する問題