Uploaded image for project: 'QuickFIX/J'
  1. QuickFIX/J
  2. QFJ-191

Add transactional behaviour to fromApp() callback

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Default
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      Currently, if the fromApp() callback returns, ie the application message has been forwarded to the application layer,
      the next expected sequence number of incoming message will be incremented.

      If the Java application crashes inside the fromApp() callback, the sequence number stays as is, and after the next logon
      the incoming sequence number is too low. Therefore, the message being processed in the fromApp() callback during
      the crash will be refetched using a ResendRequest.

      On the other hand, if some exception occurs inside the fromApp() callback (e.g. due to fatal processing errors in the application
      layer) it would make sense to rollback the processed message by not incrementing the incoming sequence number.
      This will cause the message to be redelivered using a ResendRequest.

      To accomplish this the fromApp() callback should catch any exceptions (or at least some specific ones) and abstain from incrementing
      the incoming sequence number.

      As a sub-task prior to this issue I would see to separate the verify processing from the fromApp processing.

      Further improvements would include full JTA (Java Transaction API) support (create another JIRA issue for this).

        Attachments

          Activity

            People

            • Assignee:
              admin Steve Bate
              Reporter:
              jthoennes Jörg Thönnes
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: