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

If Consumer close() method is invoked while inside onMessage(), it should be excuted after onMessage() has completed.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.14, 0.16, 0.18, 0.20, 0.22
    • None
    • JMS AMQP 0-x
    • None

    Description

      If Consumer close() is called while inside onMessage(), it deadlocks (or will be waiting on a condition that would never be true with the patch for QPID-4574).
      As per the JMS spec, the consumer cannot be closed() until onMessage() method returns.
      Therefore the best solution is to mark that close() has been called and then execute those method once the thread returns from onMessage().

      Attachments

        1. QPID-4922.patch
          2 kB
          Rajith Muditha Attapattu

        Issue Links

          Activity

            People

              rajith Rajith Muditha Attapattu
              rajith Rajith Muditha Attapattu
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: