[openamq-dev] x-match vs X-match

Esteve Fernandez esteve at sindominio.net
Thu Feb 7 16:48:12 CET 2008


Hi all, I've been playing with headers exchanges and there's a subtle issue. 
In the AMQP spec it states that:

"The   matching   algorithm   is   controlled   by   a   special   bind   
argument   passed   as   a   name   value   pair   in   the 
arguments table. The name of this argument is 'x-­match'."

however, one can find this in server/amq_exchange_headers.c:389:

            if (field->name [0] == 'X' && field->name [1] == '-') {
                if (streq (field->name, "X-match")) {
                    if (streq (asl_field_string (field), "any")) {
                        if (amq_server_config_debug_route (amq_server_config))
                            smt_log_print (amq_broker->debug_log,
                                "X: select   %s: match=any", 
self->exchange->name, index_key);
                        binding->match_all = FALSE;
                    }
                }
                else
                    smt_log_print (amq_broker->alert_log,
                        "W: unknown field '%s' in bind arguments", 
field->name);
            }

which one is the correct one, X-match or x-match?

Also, which is the standard default value for X-match? Qpid uses 'any', 
whereas OpenAMQ uses 'all'.

Cheers.


More information about the openamq-dev mailing list