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/




Reply via email to