[EnMasse] Topics and subscriptions in Enmasse 0.24.1

Bob Claerhout bob.claerhout at aloxy.io
Fri Jan 18 14:13:54 UTC 2019


Hi all,

I'm in the dark about the topics and subscriptions in Enmasse.
I'm currently using a standard addressspace in Enmasse 0.24.1 and using the documentation from http://enmasse.io/documentation/0.24.1/openshift/#con-standard-address-space-messaging. Also I'm using qpid-bow as the consumer and publisher (https://github.com/Bynder/qpid-bow).
I'm having two questions:
My first questions is about the wildcards:
The documentation states that:

  *   a/#/b matches a/foo/b, a/bar/b, and a/foo/bar/b
  *   a/+/b matches a/foo/b and a/bar/b, but would not match a/foo/bar

I've created a topic address "addressspace/test".
I'm performing my subscriptions using following command: "qb message receive addressspace/test".
I'm performing my publications using following command: "qb message send addressspace/test message".

When I'm subscribing to "addressspace/test" and publishing to "addressspace/test" the subscriber receives the message.
When I'm subscribing to "addressspace/test/foo" and publishing to "addressspace/test/foo" the subscriber receives the message.
However, when I'm subscribing to "addressspace/test/+" and publishing to "addressspace/test/foo" the subscriber does not receive the message although stated by the documentation. When I publish to "addressspace/test/+" it is received by the subscriber.
Also, when I'm subscribing to "addressspace/test/#" and publishing to "addressspace/test/foo" the subscriber does not receive the message although stated by the documentation. When I publish to "addressspace/test/#" it is received by the subscriber.
When I'm subscribing to "addressspace/test.*" and publishing to "addressspace/test.foo" the subscriber also receives the message. I got this from the automated tests.
Can somebody point me towards what I'm doing wrong or did I wrongly interpreted the documentation?

My second question is about the subscription address.
Just verifying my assumptions:
Say I have a topic "test" and I create a subscription, called "foo", on topic "test/foo/+" every message on topic "test/foo/[anything]"(if my assumption in the previous question is correct) should be forwarded and stored in the subscription "foo". When a client connects to "foo", it receives all messages in the queue.
When I have the same topic "test" and I create an additional subscription, called "bar", on topic "test/foo/bar" every message on topic "test/foo/bar" should be forwarded and stored in both subscription "foo" and "bar". When a client connects to "foo", it will receive all messages to "test/foo/+" including the ones to "test/foo/bar". When a client connects to "bar" it will receive all message to "test/foo/bar".
Are my assumptions correct?

Additional sub question:
I'm trying to create a subscription using following yaml template, is this correct?
- kind: Address
  apiVersion: enmasse.io/v1alpha1
  metadata:
    name: foo
  spec:
    address: foo
    topic: test/foo/+
    type: topic
    plan: standard-small-topic

Can somebody please clarify these things for me and maybe provide working examples?
Thanks!

Bob Claerhout
--

[cid:part1.38951037.C7A83628 at aloxy.io]  Bob Claerhout
Software developer
M +32 479 34 84 92
The Beacon, Sint-Pietersvliet 7, 2000
Antwerp
bob.claerhout at aloxy.io<mailto:bob.claerhout at aloxy.io> | www.aloxy.io<http://www.aloxy.io>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/enmasse/attachments/20190118/48348186/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hjgfipjlmcehaiam.png
Type: image/png
Size: 6330 bytes
Desc: hjgfipjlmcehaiam.png
URL: <http://listman.redhat.com/archives/enmasse/attachments/20190118/48348186/attachment.png>


More information about the enmasse mailing list