[rabbitmq-discuss] RabbitMQ's STOMP CONNECTED Frame

Lionel Cons lionel.cons at cern.ch
Fri Feb 24 07:17:38 GMT 2012


If one wants to write STOMP clients that can work with multiple
messaging brokers, (s)he must take into account some details that
are implementation's specific. For instance, what ActiveMQ calls
activemq.prefetchSize, RabbitMQ calls prefetch-count. This is doable
since these details are not too many.

However, it would help a lot to be able to reliably identify the type
of messaging broker a STOMP client is connected to. This has been
foreseen in the STOMP 1.1 specification that contains for the
CONNECTED frame:

 | STOMP 1.1 servers MAY set the following headers:
 | [...]
 | server : A field that contains information about the STOMP server. The
 |   field MUST contain a server-name field and MAY be followed by optional
 |   comment feilds delimited by a space character. The server-name field
 |   consists of a name token followed by an optional version number token.
 | 
 |   server = name ["/" version] *(comment)
 | 
 |   Example: server:Apache/1.3.9

RabbitMQ 2.7.1 does not set the "server" header on the CONNECTED frame.
FWIW, both ActiveMQ and Apollo do set this header.

Would it be possible to have RabbitMQ's STOMP plugin also advertise
the server version in the CONNECTED frame?

If people are concerned with security, this could be optional and the
version string could be configurable.

Cheers,

Lionel


More information about the rabbitmq-discuss mailing list