我有一個C++出版商發送消息是這樣的:如何使用amq.topic在阿帕奇的pub/sub消息Qpid
Connection connection;
connection.open("127.0.0.1", 5672);
Session session = connection.createSession();
Message msg;
msg.setData("TestAMsg");
msg.getDeliveryProperties().setRoutingKey("test.A");
session.messageTransfer(arg::content = message,
arg::destination = "amq.topic");
msg.setData("TestBMsg");
msg.getDeliveryProperties().setRoutingKey("test.B");
session.messageTransfer(arg::content = message,
arg::destination = "amq.topic");
而且我有一個Java的用戶是這樣的:
AMQConnectionFactory connectionFactory = new
AMQConnectionFactory("amqp://guest:[email protected]/test?
brokerlist='tcp://127.0.0.1:5672'");
AMQConnection connection = (AMQConnection)
connectionFactory.createConnection();
org.apache.qpid.jms.Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
AMQTopic destination = (AMQTopic)
AMQDestination.createDestination("topic://amq.topic//exclusive='false'?
bindingkey='Test.A'");
MessageConsumer messageAConsumer = session.createConsumer(destination);
Message message_ = messageConsumer_.receive();
上面的代碼沒有收到消息。我很困惑這將如何工作?對於消費者來說,什麼是綁定URL的正確形式?我錯過了什麼?
您還可以使用精確匹配的具有約束力的關鍵,看看@布賴恩·凱利回答 –