QuickFIX / J의 메시징 계약은 무엇입니까? 주문 배송이 보장됩니까?
방금 QuickFIX / J를 시작했습니다. 문서를 읽는 데 혼란스러워하는 한 가지는 FIX 프로토콜의 QuickFIX 구현에 의해 보장되는 메시징 계약이 정확히 무엇입니까?
특히, FIX에는 구현시 순서가 맞지 않거나 누락되거나 중복 된 메시지를 처리하는 데 활용할 수있는 기본 제공 시퀀스 번호 기반 메커니즘이 있습니다. 그러나 QuickFIX / J에는 이미 기능이 내장되어 있습니까? QuickFIX / J를 사용하여 수정 엔진과 통신하는 응용 프로그램으로서 다음을 가정 할 수 있습니다.
QuickFIX / J에서 내 앱으로 전달되는 메시지는 항상 순서가 있습니다.
누락 된 메시지가 없습니다 (QuickFIX / J가 자동으로 재 요청을 처리합니다)
중복 된 메시지가 없습니다 (QuickFIX / J는 지금까지받은 시퀀스 번호를보고 가능한 중복을 필터링 할 수 있음)
원격 수정 엔진이 충돌하면 엔진이 돌아올 때 마지막으로 알려진 시퀀스 번호로 자동으로 다시 연결합니다.
내 앱이 충돌하면 다시 시작할 때 이전에 알려진 시퀀스 번호에서 세션을 자동으로 다시 시작할 수 있습니까? (예 : 즉시 사용 가능한 일련 번호 지속성 메커니즘이 있습니까?)
답변
QuickFIX / J는 FIX 세션 프로토콜을 구현하므로 모든 세션 수준 항목 (연결, 시퀀스 번호 등)을 처리합니다.
- 예, 그러나 중복이있을 수 있습니다. 3을 참조하십시오.
- 예.
- 아니요, 실제로 QFJ는 중복 가능성을 여전히 처리하고 싶을 수 있으므로 앱에 중복 가능성을 전달합니다. 원하는 경우을 기준으로 직접 필터링해야합니다
43/PossDupFlag
. - 예.
- 예. QFJ 같은 메커니즘 지속성 상자의 일부 아웃이
FileStore
,JdbcStore
,MemoryStore
.Store
필요한 경우 직접 구현할 수도 있습니다 .
아직 찾지 못한 경우 QFJ 응용 프로그램을 만드는 방법에 대한 링크는 다음과 같습니다. https://github.com/quickfix-j/quickfixj#creating-a-quickfixj-application