On 10/3/24 11:04, Мурад Байгильдин wrote:
Hi, Justin!
Sender sends message into request queue and expects response message in
response queue, with response's JMSCorellationId header being set to
message ID that was sent (and could not be read by responder app).
Sender (java app) originally was not explicitly specifying message ID, not
really sure if it was set by library used or by the broker
Calling msg.setJMSMessageId(msgId) with some manually generated value did
reflect on userID property of the message, however it still could not be
read by responder app via STOMP, unless
msg.putStringProperty('some-header-name', msgId) was called
The JMS specification prohibits you from using the setJMSMessageID
value; From the API docs
"This method is for use by JMS providers only to set this field when a
message is sent. This message cannot be used by clients to configure the
message ID. This method is public to allow a JMS provider to set this
field when sending a message whose implementation is not its own."
The most reliable way to ensure you have a stable message header to act
on is to set you own value as cross protocol conversions that occur do
not guarantee that the JMS message ID will be converted and reflected
they way you want it to be.
As a solution for now we settled on manually putting message ID into string
properties
чт, 3 окт. 2024 г. в 17:13, Justin Bertram <jbert...@apache.org>:
Can you clarify your use-case and how the message ID is being set on the
client sending the message?
Typically the message ID is set by the client implementation or by the
broker and it can also change in some circumstances so it's not
particularly meaningful to the messaging application. Generally speaking we
recommend folks set their own unique ID if they're wanting to track
messages.
Justin
On Thu, Oct 3, 2024 at 2:17 AM Мурад Байгильдин <baigildi...@gmail.com>
wrote:
Hi, we ran into an issue when receiving messages via STOMP protocol.
Message was sent by java application using JMSSerializer via AMQP
protocol,
resulting in message id being stored in userID message property. When
receiving this message via STOMP, the value of userID was not present in
any header, unless the sender app manually generates an id for the
message
and passes it into some custom-named header.
Could not find any related info on this property in the archive.
Maybe it is possible to add a STOMP configuration flag, similar to
stompEnableMessageId (stompEnableUserId e.g.), that would control if a
message's userID value is being passed into STOMP headers?
artemis version 2.37.0
--
Tim Bish
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@activemq.apache.org
For additional commands, e-mail: users-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact