Frage

Ich versuche, einen guten Weg zu finden, einen Verlust der Verbindung zu erkennen.

Mein Adapter ist als Fix implementiert :: Anwendung basierend auf eines der Beispiele. Es verwendet einen Buchse Initiator zu der Update-Gateway zu verbinden.

Wenn ich das Internet dauert es etwa 30 Sekunden für den Fix :: Anwendung onLogout Methode ziehen abgefeuert werden. Es scheint, wie einig zugrunde liegende Klasse bewusst wäre, dass es ein Problem mit der Steckdose ist viel früher. Gibt es einen schnellen Weg in diese nahm Haken?

War es hilfreich?

Lösung

Der beste Weg, dies zu lösen, wäre wahrscheinlich Ihr Herzschlag-Intervall zu verringern, so dass Sie früher kennen. Ich weiß nicht, von den Meldungen, die für einen Verlust von TCP-Verbindung feuern, aber ich glaube nicht, QuickFix entweder für OS Ereignisse hört. Obwohl, wäre es wahrscheinlich durch das fromAdmin Ereignis fließen, wenn es eine solche Nachricht waren.

Haben Sie posten Sie Ihre Frage an die QuickFix DL?

Andere Tipps

Es ist möglich, dass das Update-Engine Sie verwenden ruft nicht zurück, wenn TCP getrennt wird, oder ruft sie zurück auf etwas anderes als onLogout. Da Sie fix verwenden, würde ich denke, es ist eine Abmeldung erzwingt wegen verpasster Herzschläge.

Schnell Weg wäre, in den Code zu suchen und überprüfen, wo Steckdose in der Nähe behandelt wird, und welcher Weg führt, wenn dies geschieht.

TCP selbst kommt mit einem nativen Herzschlag-Mechanismus genannt SO_KEEPALIVE . Problem ist, dass das Standardintervall für diesen Herzschlag kann als 2 Stunden, wie hoch sein. Dies wird auf der OS-Ebene konfiguriert. Also in der Theorie können Sie auf SO_KEEPALIVE drehen, einen angemessenen Taktintervall auf OS-Ebene konfiguriert und glücklich sein. Da jedoch wie gesagt das ist sehr abhängig vom Betriebssystem, wählen die meisten Anwendungen heartbeating auf der Anwendungsebene zu implementieren und FIX ist keine Ausnahme. Ihr FIX Taktintervall Abnehmende ist der Weg hier zu gehen, vor allem, wenn Sie auf Abbrechen-on-Verbindung trennen und zusätzliche Sekunden unerkannten Verbindungsverlustes angewiesen sind, um unerwünschte Orderausführungen führen kann. Ein FIX Gateway auf der Oberseite der Fix-Engine implementiert sollte heartbeating Konfiguration out-of-the-box-Unterstützung. Werfen Sie einen Blick auf CoralGateway für ein Beispiel. (Disclaimer: Ich bin einer der Entwickler von CoralGateway)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top