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.



    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: C++ Client
    • Labels:
    • Environment:

      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.


      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").


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



            • Assignee:
              hakanj Håkan Johansson
            • Votes:
              0 Vote for this issue
              1 Start watching this issue


              • Created: