You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Péter Kerekes (Jira)" <ji...@apache.org> on 2025/07/14 16:34:00 UTC
[jira] [Created] (ARTEMIS-5576) Backslash in the address/queue name
Péter Kerekes created ARTEMIS-5576:
--------------------------------------
Summary: Backslash in the address/queue name
Key: ARTEMIS-5576
URL: https://issues.apache.org/jira/browse/ARTEMIS-5576
Project: ActiveMQ Artemis
Issue Type: Bug
Components: OpenWire
Affects Versions: 2.41.0, 2.39.0
Reporter: Péter Kerekes
Using the 2.31.0 version over OpenWire a consumer subscibes to a queue having \ in the name e.g foo\foo. According to the web console, this internally generates the foo\\foo address and queue name.
When a producer send message to the foo\foo this also generates the foo\foo queue name internally.
But with version 2.39.0 2.41.0 (the other version was not tested by me) the situation is the following:
Subscibing to the foo\foo internally generates the foo\\\\foo address and queue name, but
sending message to the foo\foo sends messages to the foo\\foo address, so they can not communicate with each other.
I think maybe the problem relates to the this commit [https://github.com/jbertram/activemq-artemis/commit/45434e848e597a36fd97ca6faf9ccc968b5891a6#diff-9c5fa40bb8a34caf64b426b440d5c1a91f08de680a89efa344a87959fd71794c.]
The *[WildcardConfiguration.java|https://github.com/jbertram/activemq-artemis/commit/45434e848e597a36fd97ca6faf9ccc968b5891a6#diff-9c5fa40bb8a34caf64b426b440d5c1a91f08de680a89efa344a87959fd71794c]* has been changed, and the new convert function calls the escape function when the already escaped \ escaped again:
private String escape(final String input, WildcardConfiguration from) {
String result = input.replace(escapeString, escapeString + escapeString);
This convert function is called from the AMQConsumer.java:
SimpleString destinationName = SimpleString.of(session.convertWildcard(openwireDestination));
,but the message sending functions use the unescaped address, because it is not converted.
I think that this escaping \ to \\ is unnecesary in the convert if the \ already has been escaped earlier.
Using \ in the name is not so common, but I have not find any information that the \ is not allowed in the address or queue name, that's why we started to use the Windows domain name with \ as the name.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@activemq.apache.org
For additional commands, e-mail: issues-help@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact