0

私たちが開発したコネクタ アプリケーションで FIX プロバイダーによって実行される適合性テストの一環として、すべてのセッションで突然の切断が発生した後、自動的に再接続して見積もりセッションに再サブスクライブする必要があります。

QuickfixJ を使用しているため、Quote セッションに中断が発生した場合、クライアント アプリは自動的に再接続して再ログインし、デフォルトでシーケンス番号を 1 から開始するようにリセットします。しかし、再ログイン後、アプリは見積もりメッセージを受信しません。相手方が中断前に購読済みの見積もりを継続的に送信している場合でも (これは私たちの相手方の発言です)。ログには、正常なハートビート メッセージ以外は何も表示されません。

再ログイン後、新しい QuoteRequest を再度送信する必要がありますか? それとも、ResendRequest を送信する必要がありますか?

ログオン時にシーケンス番号が既にリセットされているため、ここで ResendRequest を送信できないと思います。新しい QuoteRequest を送信する必要がある場合、カウンターパーティは以前に購読した Quote の送信を停止していないため、エラーが発生しますか?

解決策を教えてください。前もって感謝します。

4

1 に答える 1

2

再ログイン後、新しい QuoteRequest を再度送信する必要がありますか?

この回答は相手方固有のものです。FIX プロトコルはこれに答えません。相手方に聞くべきです。私の直感によると、答えはおそらく「はい」ですが、彼らに確認する必要があります。

FIX は、アプリケーション レベルのメッセージとフィールドの既定のセットを提供しますが、それらをどのように使用する必要があるかについては説明していません。したがって、すべての取引相手は、少しずつ異なることを行います。

それとも、ResendRequest を送信する必要がありますか?

天国、いいえ!ResendRequest はトランスポート層のメッセージです。QF/j エンジンは、必要なときにこれを自動的に送信します。手動で送信しないでください (ハートビートを手動で送信しないように)。

于 2014-03-30T19:30:22.417 に答える