[rabbitmq-discuss] Net::AMQP Perl Client - Status?

Tony Garnock-Jones tonyg at lshift.net
Wed Jan 14 23:08:20 GMT 2009


Hi Darien,

Darien Kindlund wrote:
> 1) Since RabbitMQ implements only v0.8 (0-8) of the AMQP spec, it does
> not support the 'headers' exchange type (as defined in 0-10 spec).
> Correct?

Correct. As Ben said, there's no ETA for the feature -- but it'd be an 
interesting exercise to code up :-) (Just off the top of my head, it'd 
be a fairly conservative change to rabbit_exchange.erl, plus a bit of 
work to implement an interpreter for whatever predicate language the 
other implementations have built. I could be wrong.)

> 2) Both (0-8) and (0-10) AMQP specifications talk about "message
> priority" (i.e., message.delivery-priority).  Can you give me an
> example of how you construct different priority messages via
> Net::STOMP?  Do you just specify the "priority" header with an integer
> value of 0,1,2,3,4,5,6,7,8, or 9?  Or, are message priorities not even
> implemented in RabbitMQ v1.5?

You're right on both points. First, when you publish messages using SEND 
to the rabbit STOMP gateway, you provide a "priority" header matching 
/[0-9]/. See line 431 (and neighbouring) of rabbit_stomp.erl [1].

Second, the RabbitMQ server doesn't actually pay attention to message 
priorities at the moment -- in violation of the spec, I might add, which 
requires at least two distinguishable priority levels -- so for now, it 
will simply ignore the message priority and will route all messages 
equally. It won't (or oughtn't!) break if you *do* supply a priority, of 
course.

Regards,
   Tony

[1] 
http://hg.rabbitmq.com/rabbitmq-stomp/file/41ccb4722952/src/rabbit_stomp.erl#l431




More information about the rabbitmq-discuss mailing list