activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Justin Bertram (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARTEMIS-283) Protocol independent JMSMessageID from management interface
Date Tue, 27 Oct 2015 14:43:27 GMT

    [ https://issues.apache.org/jira/browse/ARTEMIS-283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14976491#comment-14976491
] 

Justin Bertram commented on ARTEMIS-283:
----------------------------------------

Couple of questions:

# I don't quite understand why listing JMS messages would not make sense if there is not a
JMSMessageID to correlate with. There are all kinds of different use-cases for listing messages.
Can you clarify your specific use-case a bit more?
# I'm not sure it makes sense for a message produced with a non-JMS API to have a JMSMessageID.
 The JMSMessageID is after all JMS-specific.

> Protocol independent JMSMessageID from management interface
> -----------------------------------------------------------
>
>                 Key: ARTEMIS-283
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-283
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 1.1.0
>            Reporter: Petter Nordlander
>            Priority: Minor
>
> The Management interface (JMX) has a listMessagesAsJSON operation on JMS queues.
> Listing JMS messages would not make sense if there is not a JMSMessageID to correlate
with. This works only for messages produced with Artemis "Core JMS" protocol (i.e. HornetQ
wire protocol). Messages produced with AMQP (proton) and OpenWire JMS clients does not contain
the JMSMessageID property. 
> This property is vital to make GUIs, management scripts and whatnot.
> Example:
> Three messages in the following order: Artemis JMS, OpenWire, AMQP
> {code:javascript}
> [
> 	{
> 		"JMSPriority":4,
> 		"JMSMessageID":"ID:11d61bfc-7c8f-11e5-b67d-fbf95a4499b8",
> 		"address":"jms.queue.a1",
> 		"JMSExpiration":0,
> 		"__AMQ_CID":"11d1d638-7c8f-11e5-b67d-fbf95a4499b8",
> 		"JMSTimestamp":1445938962608,
> 		"messageID":134336,
> 		"JMSDeliveryMode":"PERSISTENT"
> 	},
> 	{
> 		"address":"jms.queue.a1",
> 		"JMSExpiration":0,
> 		"JMSTimestamp":1445938969309,
> 		"__HDR_MARSHALL_PROP":[0,0,0,1,0,6,118,101,110,100,111,114,9,0,3,97,109,113],
> 		"messageID":134354,
> 		"__HDR_GROUP_SEQUENCE":0,
> 		"__HDR_PRODUCER_ID":[0,0,0,61,123,1,43,0,52,73,68,58,80,101,116,116,101,114,115,45,77,97,99,66,111,111,107,45,80,114,111,46,108,111,99,97,108,45,54,52,53,55,52,45,49,52,52,53,57,51,56,57,54,57,49,53,54,45,49,58,49,0,1,0,1],
> 		"JMSDeliveryMode":"PERSISTENT",
> 		"JMSPriority":4,
> 		"__HDR_COMMAND_ID":6,
> 		"__HDR_ARRIVAL":0,
> 		"__HDR_REDELIVER_COUNTER":0,
> 		"__HDR_MESSAGE_ID":[0,0,0,65,110,2,-82,2,123,0,52,73,68,58,80,101,116,116,101,114,115,45,77,97,99,66,111,111,107,45,80,114,111,46,108,111,99,97,108,45,54,52,53,55,52,45,49,52,52,53,57,51,56,57,54,57,49,53,54,45,49,58,49,0,1,0,1,0,1],
> 		"__HDR_DROPPABLE":false,
> 		"__HDR_BROKER_IN_TIME":1445938969310
> 	},
> 	{
> 		"JMS_AMQP_NATIVE":false,
> 		"JMSPriority":4,
> 		"address":"jms.queue.a1",
> 		"JMSExpiration":0,
> 		"JMS_AMQP_MESSAGE_FORMAT":0,
> 		"JMSTimestamp":1445939704838,
> 		"messageID":134376,
> 		"JMSDeliveryMode":"PERSISTENT"
> 	}
> ]
> {code}
> Corresponding Message Ids would be (read from JMS interface).
> Core: JMSMessageID: 783cf118-7c91-11e5-9a09-b3c5f39ba469:0:0:-1
> OpenWire: JMSMessageID: ID:Petters-MacBook-Pro.local-64574-1445938969156-1:1:1:1:1
> AMQP: JMSMessageID: 783d1829-7c91-11e5-9a09-b3c5f39ba469:0:0:-1
> Problem is in QueueCtrlImpl which uses core-jms-client to convert messages from core
to Jms Map. It consider all messages as core messages. Logic from each protocol/client should
be used on respective message.
>     Map<String, Object> jmsMessage = ActiveMQMessage.coreMaptoJMSMap(coreMessage);



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message