สัญญาการส่งข้อความของ QuickFIX / J คืออะไร? ฉันได้รับการรับประกันในการจัดส่งสินค้าหรือไม่?

Aug 18 2020

ฉันเพิ่งเริ่มใช้ QuickFIX / J สิ่งหนึ่งที่ฉันสับสนในการอ่านเอกสารของพวกเขาคือสัญญาการส่งข้อความที่รับรองโดยการใช้งาน QuickFIX ของโปรโตคอล FIX คืออะไร?

โดยเฉพาะอย่างยิ่งฉันรู้ว่า FIX มีกลไกตามหมายเลขลำดับในตัวซึ่งการใช้งานสามารถใช้ประโยชน์เพื่อจัดการกับข้อความที่ไม่เป็นระเบียบหายไปหรือซ้ำกัน แต่ QuickFIX / J มีความสามารถในตัวหรือไม่? ในฐานะแอปพลิเคชันที่ใช้ QuickFIX / J เพื่อสื่อสารกับเครื่องมือแก้ไขฉันสามารถสมมติ:

  1. ข้อความที่ส่งไปยังแอปของฉันจาก QuickFIX / J เป็นไปตามลำดับเสมอ

  2. ไม่มีข้อความที่ขาดหายไป (QuickFIX / J จะจัดการคำขอใหม่โดยอัตโนมัติ)

  3. ไม่มีข้อความที่ซ้ำกัน (QuickFIX / J สามารถดูหมายเลขลำดับที่ได้รับจนถึงตอนนี้และกรองการทำซ้ำที่เป็นไปได้)

  4. หากเอ็นจิ้นการแก้ไขระยะไกลขัดข้องฉันจะเชื่อมต่อใหม่กับหมายเลขลำดับสุดท้ายที่ทราบโดยอัตโนมัติเมื่อเครื่องยนต์กลับมา

  5. หากแอปของฉันขัดข้องเมื่อรีสตาร์ทแอปจะสามารถกลับมาใช้งานเซสชันต่อโดยอัตโนมัติจากหมายเลขลำดับที่ทราบก่อนหน้านี้ได้หรือไม่ (เช่นจะมีกลไกการคงอยู่ของหมายเลขลำดับกล่องหรือไม่)

คำตอบ

1 ChristophJohn Aug 18 2020 at 18:15

QuickFIX / J ใช้โปรโตคอลเซสชัน FIX ดังนั้นจึงจัดการเนื้อหาระดับเซสชันทั้งหมด (การเชื่อมต่อหมายเลขลำดับ ... ) ให้กับคุณ

  1. ใช่ แต่อาจมีรายการที่ซ้ำกันโปรดดูที่ 3
  2. ใช่.
  3. ไม่จริงแล้ว QFJ จะยังคงส่งต่อรายการที่ซ้ำกันไปยังแอปของคุณเนื่องจากคุณอาจต้องการจัดการสิ่งเหล่านั้น 43/PossDupFlagคุณจำเป็นต้องกรองพวกเขาด้วยตัวเองถ้าคุณต้องการที่จะอยู่บนพื้นฐานของ
  4. ใช่.
  5. ใช่. QFJ มีออกบางส่วนของกล่องติดตากลไกเช่นFileStore, ,JdbcStore MemoryStoreคุณยังสามารถใช้ของคุณเองได้Storeหากต้องการ

นี่คือลิงค์เกี่ยวกับวิธีสร้างแอปพลิเคชัน QFJ ในกรณีที่คุณยังไม่พบ: https://github.com/quickfix-j/quickfixj#creating-a-quickfixj-application