Hi Gordon,
> By undeliverable I'm assuming you mean that the exchange to which the
> message is published has no bindings that match the message. (If the
> exchange wasn't recognised the broker should close the channel with a
> 404).
I'm indeed talking about the first case you mention.
> I believe only messages published with the mandatory flag set will be
> returned if there are no matching bindings. Can you verify whether that
> flag is set?
Yes, the flag is set. In fact, the test code is exactly the same for all
four exchanges tested (default, direct, topic and headers), the only
difference is the exchange selected.
Here's the basic.publish packet in fact:
Advanced Message Queueing Protocol
Type: Method (1)
Channel: 1
Length: 41
Class: Basic (60)
Method: Publish (40)
Arguments
Ticket: 0
Exchange: amq.topic
Routing-Key: Non-existant route key!
.... ...1 = Mandatory: True
.... ..0. = Immediate: False
Advanced Message Queueing Protocol
Type: Content header (2)
Channel: 1
Length: 49
Class ID: Basic (60)
Weight: 0
Body size: 5
Property flags: 0xfffc
Properties
Content-Type: text/plain
Content-Encoding:
Headers
Delivery-Mode: 2
Priority: 0
Correlation-Id:
Reply-To:
Expiration: 0
Message-Id:
Timestamp: 633107639307039840
Type:
User-Id:
App-Id:
Cluster-Id:
Tomas Restrepo
http://www.winterdom.com/weblog/