Uploaded image for project: 'AMQ Clients'
  1. AMQ Clients
  2. ENTMQCL-604

[cpp] Disappeared link name when calling container.open_receiver(addr_url, rcv_opts, conn_opts)

    XMLWordPrintable

    Details

    • Target Release:
    • Sprint:
      May 2018
    • Affects:
      Release Notes
    • Workaround:
      Workaround Exists
    • Workaround Description:
      Hide

      Set the receiver name option on Connection.create_receiver, not on Container.create_receiver.

      Show
      Set the receiver name option on Connection.create_receiver, not on Container.create_receiver.
    • Release Notes Text:
      Hide
      Due to a flaw in the Container.create_receiver method processing, the receiver name is not set when using Container.create_receiver option.

      Workaround: Set the receiver name option on Connection.create_receiver instead of Container.create_receiver.
      Show
      Due to a flaw in the Container.create_receiver method processing, the receiver name is not set when using Container.create_receiver option. Workaround: Set the receiver name option on Connection.create_receiver instead of Container.create_receiver.
    • Release Notes Docs Status:
      Documented as Known Issue

      Description

      When user sets link name this way, link name is set correctly:

      void on_container_start(proton::container& c) override {
          connection_options conn_opts;
          /* setting some connection options */
       
          source_options src_opts;
          /* setting some source options */
       
          receiver_options recv_opts;
          /* setting some receiver options */
       
          recv_opts.name("link_name"); // setting link name to receiver options
          recv_opts.source(src_opts); // setting source options to receiver options
       
          connection conn = c.connect(broker_url, conn_opts); // connecting client from container
       
          receiver recv = conn.open_receiver(addr, recv_options); // opening receiver from connection
       
          cout << recv.name() << endl; // prints "link_name"
      }
      

      When user sets link name like this, link name disappears:

      void on_container_start(proton::container& c) override {
          connection_options conn_opts;
          /* setting some connection options */
       
          source_options src_opts;
          /* setting some source options */
       
          receiver_options recv_opts;
          /* setting some receiver options */
       
          recv_opts.name("link_name"); // setting link name to receiver options
          recv_opts.source(src_opts); // setting source options to receiver options
       
          receiver recv = c.open_receiver(broker_url, recv_options, conn_opts); // opening receiver from container
       
          cout << recv.name() << endl; // prints UUID in format "8-4-4-4-12"
      }
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  astitcher Andrew Stitcher
                  Reporter:
                  rkubis Radim Kubis
                  Tester:
                  Radim Kubis
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  6 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: