Weird characters in RabbitMQ queue names created by ServiceStack -
i'm trying add custom logic messages in servicestack , rabbitmq.
it seems queues created servicestack have illegible characters prepended queue name , makes hard reference them name. example (link rabbitmq admin tool):
http://localhost:15672/#/queues/%2f/%e2%80%8e%e2%80%8emq%3atestrequest.inq
note %e2%80%8e%e2%80%8e prepended queue name. although queue looks mq:testrequest.inq seems have different name. checked on machine , behaviour consistent. suspect routing keys affected in same manner.
however, if manually create queue (and far can see, servicestack in similar way):
rabbitmqserver mqserver = new rabbitmqserver(connectionstring: hostname, username: username, password: password); rabbitmqmessagefactory factory = (rabbitmqmessagefactory)mqserver.messagefactory; using (var mqclient = new rabbitmqproducer(factory)) { var channel = mqclient.channel; string qname = new queuenames(typeof(testrequest)).in; channel.queuedeclare(qname, true, false, false, null); }
the creted queue has "normal" name without characters. http://localhost:15672/#/queues/%2f/mq%3atestrequest.inq
also, seems exchanges created names expected.
my questions:
how force servicestack create queues without appending these characters?
or
how construct queue names containing these characters?
edit:
it seems inserted character left-to-right mark (‎
or \u200e). prepending these characters queue name / routing key seems job done. however, looks rather hacky i'd avoid doing this.
this might inside internals of rabbitmq , may depend if using amqp or stomp. here except full page:
if /, % or non-ascii bytes in queuename, exchange_name or routing_key, each replaced sequence %dd, dd hexadecimal code byte.
Comments
Post a Comment