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

[AMQP 1.0 C++ and Python Client] Temporary queues broken if using queue name instead of Address.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • C++ Client
    • None
    • Red Hat Enterprise Linux Server release 6.7 (Santiago)

      The qpid-cpp code has been built with qpid-proton version 0.10.

      The broker is ActiveMQ 5.12.1.
      The protocol used in AMQP 1.0.

    Description

      I create a temporary queue by creating a receiver with "#" as queue name. So far so good. The problem comes when I try to send a reply on that queue. If I use the Address, then it works, but not if I use the resulting queue name.

      In C++ this is easy to work around, just use the result from receiver.getAddress() when setting the reply-to queue and use the sender constructor that takes an Address object.

      In Python this becomes a bit of a problem since the SWIG:ed methods gets rid of the Address object and returns a string instead. I have to call the private method message._getReplyTo() to get it to work. If I use message.reply_to or message.getReplyTo() I get a string instead, which does not work.

      If I use the reply-to queue name when creating the sender, a queue named "temp-queue:" is created (the actual queue name is something like "temp-queue://ID:myhostname-48781-1447769813910-2:47564:0").

      Attachments

        1. experiment.py
          2 kB
          Håkan Johansson
        2. cpp_experiment.cc
          4 kB
          Håkan Johansson

        Activity

          People

            Unassigned Unassigned
            hakanj Håkan Johansson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: