ANN: Habari Client for RabbitMQ - Delphi and Free Pascal STOMP client

272 views
Skip to first unread message

michael...@gmx.net

unread,
Feb 22, 2015, 10:55:40 AM2/22/15
to rabbitm...@googlegroups.com
21 February 2015 - Habarisoft released version 2.1 of Habari Client for 
RabbitMQ, a Delphi and Free Pascal STOMP client library for the RabbitMQ 
message broker. This maintenance release includes documentation updates 
and bug fixes, and many minor improvements.

Full release notes:
https://mikejustin.wordpress.com/2015/02/20/habari-client-libraries-release-2015-02/ Home page: https://www.habarisoft.com/habari_rabbitmq.html
Regards, -- Michael Justin

Michael Klishin

unread,
Feb 22, 2015, 11:04:32 AM2/22/15
to rabbitm...@googlegroups.com, michael...@gmx.net
Michael,

Thank you.

I've noticed that the feature matrix on your site claims that RabbitMQ does not support
message priorities.

It will out of the box in 3.5.0 and there is a plugin [1] for that for 3.4.x releases.

1. https://github.com/rabbitmq/rabbitmq-priority-queue
--
MK

Staff Software Engineer, Pivotal/RabbitMQ

michael...@gmx.net

unread,
Feb 22, 2015, 11:49:13 AM2/22/15
to rabbitm...@googlegroups.com, michael...@gmx.net
Hello Michael, many thanks for the information! I have updated the feature matrix, some minor changes in the library and its documentation will follow soon.

michael...@gmx.net

unread,
Jun 5, 2015, 2:36:00 AM6/5/15
to rabbitm...@googlegroups.com, michael...@gmx.net
Hi Michael,

does the current version of RabbitMQ also support message priorities with the Stomp plugin?

The page http://www.rabbitmq.com/stomp.html says "All non-deprecated AMQP properties (...) , priority, (...) are supported".

Specifically, can a Stomp client access a queue which has the x-max-priority argument set as documented on https://www.rabbitmq.com/priority.html?

A user of my Stomp client library has defined the maximum priority of 9 and reported that an error is returned from the Stomp client:

precondition_failed PRECONDITION_FAILED - inequivalent arg 'x-max-priority' for queue 'hcp' in vhost '/': received none but current is the value '9' of type 'signedint'

I will try to reproduce the error in my environment, and wanted to let you know about this (unexpected) error message.





Am Sonntag, 22. Februar 2015 17:04:32 UTC+1 schrieb Michael Klishin:

Michael Klishin

unread,
Jun 5, 2015, 3:02:29 AM6/5/15
to michael...@gmx.net, rabbitm...@googlegroups.com
I personally haven't tried it. But as long as the queue arguments and message properties are built correctly from STOMP headers, there should be no difference: the queues used by STOMP are not special.

It may be more convenient to use policies to define properties with sTOMP (that won't turn existing queues into priority ones).

MK
--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.
To post to this group, send email to rabbitm...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Gotthard, Petr

unread,
Jun 5, 2015, 3:10:31 AM6/5/15
to Michael Klishin, michael...@gmx.net, rabbitm...@googlegroups.com

Did the queue 'hcp' exist before the Stomp client set the x-max-priority argument? I suspect this may be the case. If a queue is defined without 'x-max-priority’, an attempt to redeclare this queue with 'x-max-priority’ causes PRECONDITION_FAILED.

 

Petr

michael...@gmx.net

unread,
Jun 5, 2015, 3:27:29 AM6/5/15
to rabbitm...@googlegroups.com, mkli...@pivotal.io, petr.g...@honeywell.com
Yes, the queue already existed before with x-max-priority set to 9. The Stomp client does not set the x-max-priority argument. I will try this.

To post to this group, send email to rabbit...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.

To post to this group, send email to rabbit...@googlegroups.com.

Michael Klishin

unread,
Jun 5, 2015, 3:47:28 AM6/5/15
to rabbitm...@googlegroups.com, michael...@gmx.net, petr.g...@honeywell.com
 On 5 June 2015 at 10:27:29, michael...@gmx.net (michael...@gmx.net) wrote:
> Yes, the queue already existed before with x-max-priority
> set to 9.

Then it uses the regular message store, which is unaware of priorities.

michael...@gmx.net

unread,
Jun 5, 2015, 4:09:47 AM6/5/15
to rabbitm...@googlegroups.com, michael...@gmx.net
Hi,

the RabbitMQ 3.5.0 Stomp plugin seems to ignore a x-max-priority header. I have not checked this in the RabbitMQ source code yet.

My Stomp test code does not try to send messages, it only opens a STOMP 1.2 connection and sends a SUBSCRBE frame:

client sends:

SUBSCRIBE
destination:/queue/priority_queue
ack:auto
id:{E3CA1BDD-ACC2-45A6-B10C-3AC4C1E129F5}
x-max-priority:9


client receives:

ERROR
message:precondition_failed
content-type:text/plain
version:1.0,1.1,1.2
content-length:160


precondition_failed PRECONDITION_FAILED - inequivalent arg 'x-max-priority' for
queue 'priority_queue' in vhost '/': received none but current is the value '9'
of type 'signedint'


It seems the broker does not read the x-max-priority Stomp header into the queue arguments, or maybe some other condition is not fulfilled. (I have not checked the RabbitMQ source code for the Stomp plugin).

Michael Klishin

unread,
Jun 5, 2015, 4:17:06 AM6/5/15
to rabbitm...@googlegroups.com, michael...@gmx.net
On 5 June 2015 at 11:09:49, michael...@gmx.net (michael...@gmx.net) wrote:
> It seems the broker does not read the x-max-priority Stomp header
> into the queue arguments

Seems so.

Filed an issue:
https://github.com/rabbitmq/rabbitmq-stomp/issues/13 
Reply all
Reply to author
Forward
0 new messages