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: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact