[jira] [Commented] (ARTEMIS-283) Protocol independent JMSMessageID from management interface

2017-05-03 Thread Petter Nordlander (JIRA)

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

Petter Nordlander commented on ARTEMIS-283:
---

I have a hard time even calling listMessages/listMessagesAsJSON in 2.0 since it 
won't accept an empty filter param, or some simple "true" filter. I will make 
some more investigation into this.

> 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 jmsMessage = 
> ActiveMQMessage.coreMaptoJMSMap(coreMessage);



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (ARTEMIS-283) Protocol independent JMSMessageID from management interface

2017-05-02 Thread Justin Bertram (JIRA)

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

Justin Bertram commented on ARTEMIS-283:


Can you confirm this is still an issue in 2.0?

> 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 jmsMessage = 
> ActiveMQMessage.coreMaptoJMSMap(coreMessage);



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (ARTEMIS-283) Protocol independent JMSMessageID from management interface

2015-10-28 Thread Petter Nordlander (JIRA)

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

Petter Nordlander commented on ARTEMIS-283:
---

1. The primary use case I thought of is to create management scripts etc to 
deal with JMS messages regardless of which producer. Could also be GUI 
listings/dashboards etc. The JMSMessageID is set specifically in listings for 
messages produced with HornetQ/Core JMS provider.

Without a clear ID to correlate with a message, from a JMS standpoint, you have 
no clue which messages you have listed, only that there are messages some 
properties and a timestamp.

2. Sure - but I'm not talking about messages produced with non-jms apis. But 
with OpenWire JMS Client (ActiveMQ 5.12.1 in this case) and Proton JMS AMQP1.0 
v 0.32 client.  I agree that it won't make sense for messages produced with 
MQTT or Stomp or.. other non JMS producers. 

As you can see in the listings above, a lot of JMS headers (JMSDeliveryMode 
among others) are actually set for all producers. Only JMSMessageID is missing. 

> 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 jmsMessage = 
> ActiveMQMessage.coreMaptoJMSMap(coreMessage);



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


[jira] [Commented] (ARTEMIS-283) Protocol independent JMSMessageID from management interface

2015-10-28 Thread Petter Nordlander (JIRA)

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

Petter Nordlander commented on ARTEMIS-283:
---

1. The primary use case I thought of is to create management scripts etc to 
deal with JMS messages regardless of which producer. Could also be GUI 
listings/dashboards etc. The JMSMessageID is set specifically in listings for 
messages produced with HornetQ/Core JMS provider.

Without a clear ID to correlate with a message, from a JMS standpoint, you have 
no clue which messages you have listed, only that there are messages some 
properties and a timestamp.

2. Sure - but I'm not talking about messages produced with non-jms apis. But 
with OpenWire JMS Client (ActiveMQ 5.12.1 in this case) and Proton JMS AMQP1.0 
v 0.32 client.  I agree that it won't make sense for messages produced with 
MQTT or Stomp or.. other non JMS producers. 

As you can see in the listings above, a lot of JMS headers (JMSDeliveryMode 
among others) are actually set for all producers. Only JMSMessageID is missing. 

> 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 jmsMessage = 
> ActiveMQMessage.coreMaptoJMSMap(coreMessage);



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


[jira] [Commented] (ARTEMIS-283) Protocol independent JMSMessageID from management interface

2015-10-27 Thread Justin Bertram (JIRA)

[ 
https://issues.apache.org/jira/browse/ARTEMIS-283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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 jmsMessage = 
> ActiveMQMessage.coreMaptoJMSMap(coreMessage);



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