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

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.14, 0.16, 0.18, 0.20, 0.22
    • Fix Version/s: None
    • Component/s: JMS AMQP 0-x
    • Labels:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: