On 05/28/2013 05:56 PM, Jeremy Wagner wrote:
Hello,

When I set up a sender and receiver to a topic using Qpid 0.18, I
noticed that the topic appears under Queues instead of Topics when
viewed through the JMX console, even though I already have the topic
defined in the XML configuration file. It also appears to have a
randomized string of hexadecimals appended to the topic name under
Queues.

For example, I have the topic, "test.topic", defined in the XML
configuration file as follows:

... <exchanges> <exchange> <type>topic</type>
<name>test.topic</name> </exchange> <exchanges> ...

When I bring up the JMX console, everything looks fine as the
test.topic appears under Topics. However, when I set up a receiver or
a sender to that topic as follows (ignoring error cases):

Connection connection("localhost", "<connection options goes
here...>"); connection.open(); Session session =
connection.createSession(); Sender sender =
session.createSender("test.topic"); // this appears to create
"test.topic_randomized_string_of_hexadecimals)" under Queues Receiver
receiver = session.createReceiver("test.topic"); // same as above

Since it created a "topic" under "Queues", I tried the following code
to set the address' type as "topic" as follows:

Connection connection("localhost", "<connection options goes
here...>"); connection.open(); Session session =
connection.createSession(); Address address("test.topic");
address.setType("topic"); Sender sender =
session.createSender(address); // it still connects to
"test.topic_randomized_string_of_hexadecimals" under Queues Receiver
receiver = session.createReceiver(address); // same as above

So I'm not sure why I'm unable to connect to the defined "test.topic"
as stated in the XML configuration file. Any advice would be
appreciated. Thank you.

A topic is emulated by the receivers creating and binding a subscription queue to the specified exchange. Messages published to that exchange will then be routed to any queue whose binding matches.

The queues you are seeing are subscription queues, bound to the test.topic exchange. They are given unique names by adding a UUID to the exchange name.

Does that make sense? I assume your senders and receivers were all able to communicate?

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

Reply via email to