メッセージを追跡する非常に単純なアプリケーションを実装するために QuickFIX/J を使用していTradeCaptureReport
ます。基本的に、アプリケーションは受信しpublic void fromApp(Message message, SessionID session)
たすべてのメッセージのみをデータベースに保存します。
何らかの理由でデータベースが一時的にダウンしているとします。このような状況に対処する最善の方法は何でしょうか?
RuntimeException
from を投げるだけpublic void fromApp(Message message, SessionID session)
です。これにより、メッセージがキューから削除されなくfromApp
なり、データベースが再び起動するまで、このメッセージで何度も呼び出されます。私のFIXエンジンに到着する他のメッセージは、私たちの側に積み上げられます.データベース接続の問題を検出するとすぐに、ログアウトして から RuntimeException をスローし
fromApp
ます。これにより、最後のメッセージがキューから削除されず、それ以降のメッセージが FIX セッションの反対側 (カウンターパーティー) に積み上げられます。データベースが再び起動するまで、データベースのポーリングを続けます。もう一度、ログオンして、前の場所から続行します。
他のオプションはありますか?