You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Tommy Lindgren (Jira)" <ji...@apache.org> on 2024/11/26 14:57:00 UTC
[jira] [Created] (ARTEMIS-5183) Stomp consumer with noLocal can't receive messages from producer not using noLocal
Tommy Lindgren created ARTEMIS-5183:
---------------------------------------
Summary: Stomp consumer with noLocal can't receive messages from producer not using noLocal
Key: ARTEMIS-5183
URL: https://issues.apache.org/jira/browse/ARTEMIS-5183
Project: ActiveMQ Artemis
Issue Type: Bug
Components: STOMP
Affects Versions: 2.37.0
Reporter: Tommy Lindgren
Assignee: Justin Bertram
If client 1 subscribes with {{noLocal=true}} to /{{{}topic/example {}}}and client 2 sends messages to {{/topic/example }}but doesn't use noLocal, then client 1 won't see the messages from client 2.
If n{{{}oLocal=true{}}}, {{StompConnect.java}} will add {{__AMQ_CID<>xxx }}to the selector. However, the {{__AMQ_CID}} header is only added to the message if {{noLocal}} is enabled, so the selector won't match anything (presumably because {{<> }}never matches NULL).
Untested potential patch:
{noformat}
diff --git a/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java b/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java
index bf0d09f955..29f9301f29 100644
--- a/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java
+++ b/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompConnection.java
@@ -496,9 +496,8 @@ public final class StompConnection extends AbstractRemotingConnection {
try {
StompSession stompSession = getSession(txID);
- if (stompSession.isNoLocal()) {
- message.putStringProperty(CONNECTION_ID_PROPERTY_NAME_STRING, getID().toString());
- }
+ message.putStringProperty(CONNECTION_ID_PROPERTY_NAME_STRING, getID().toString());
+
if (isEnableMessageID()) {
message.putStringProperty("amqMessageId", "STOMP" + message.getMessageID());
}{noformat}
--
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