On 13/11/18 20:31, gsupa wrote:
Gordon Sim wrote
You can also define a 'topic', which is basically an exchange and the
queue settings to be used for subscriptions to it.

Yea, I've gotten this to execute but it falls to the same issue I have with
creating a receiver on an exchange. I want multiple receivers to be able to
connect, but for every matching message *only one receiver should get it*.
Instead, when I've created receivers on a topic/exchange, all receivers will
create their own dynamically generated queue and each will receive the
message. Is there a queue property/setting that I'm missing?

That *should* be handled by the 'shared' capability.

Gordon Sim wrote
https://github.com/grs/amqp_subscriptions/blob/master/e.py#L41 is an
example of specifying a shared capability (it uses a small utility class
which is also in that repo).

I experience the same situation above when using Capabilities. Here's my set
up.

I place the following line in the on_start():

event.container.create_receiver("localhost:5672/example_exchange",
name='test', options=[Capabilities(['global', 'shared'])])

I run the file twice, and qpid-stat -q yields:
queue                                      dur  autoDel  excl  msg   msgIn
msgOut  bytes  bytesIn  bytesOut  cons  bind
==========================================================================================================================
05aaff7a-4fc7-4ab6-935d-7f2ba8504d99_test       Y        Y        0     0
0       0      0        0         1     2
a5a958f7-ee55-4e75-8d35-f7e2b9968a35_test       Y        Y        0     0
0       0      0        0         1     2

We should only have one queue when the shared capability is requested. What version of the broker are you using? Can you try with just the 'shared' capability (no 'global')?

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to