Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-7274

[Java Client] Asynchronous client acknowledgements

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • qpid-java-6.1
    • JMS AMQP 0-x
    • None
    • Patch

    Description

      When the application is using client acknowledgements, they are always done in a synchronous way with a sync() being issues after the acknowledgement. This can have significant impact on the performance of the client applications and it should be possible to configure the client to use asynchronous acknowledgements.

      The Java AMQP 0-10 client has already a connection URL option called "sync_ack" which should affect whether acknowledgements are synchronous or asynchronous, but it is used only for auto acknowledgements. It has no effect to client acknowledgements.

      Attached is a (trivial) patch which synchronizes the acknowledgements based on the sync_ack option. It seems to work fine. However, the sync_ack option is by default set to false. So using this option would mean that the current behavior would change for all current applications using client acknowledgements. I'm not sure that is desired. Would it be better to add a new option "sync_client_ack" for the client acknowledgements which would sync by default? Please let me know what the preferred option is and I can update the patch.

      Attachments

        1. sync_ack.patch
          0.6 kB
          Jakub Scholz

        Activity

          People

            orudyy Alex Rudyy
            scholzj Jakub Scholz
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: