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

    • Release Notes
    • 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.
    • Documented as Known Issue
    • Workaround Exists
    • 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.
    • May 2018

      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"
      }
      

            astitcher Andrew Stitcher
            rkubis_kafka_devexp Radim Kubis
            Radim Kubis Radim Kubis
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: