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

Justin Bertram commented on ARTEMIS-2551:
-----------------------------------------

It's not relevant to this use-case, but it's worth noting that the value for 
{{JMSXState}} might also be invalid. The spec states that the value for 
{{JMSXState}} should be, "1(waiting), 2(ready), 3(expired) or
4(retained)." The value of {{0}} has no meaning. I find it odd that 
{{JMSXState}} would even be set here as the specification states:

bq. Since state is of no interest to producers and consumers, it is not 
provided to either. It is only relevant to messages looked up in a warehouse, 
and JMS provides no API for this.

In general it seems odd that all these properties would be set without 
meaningful values. Aside from the JMS spec issues we've already discussed these 
properties increase the size of the message unnecessarily which wastes the 
JVM's heap space and network bandwidth.

> NPE in MessageUtil.setObjectProperty when name is 'JMSXGroupSeq'
> ----------------------------------------------------------------
>
>                 Key: ARTEMIS-2551
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2551
>             Project: ActiveMQ Artemis
>          Issue Type: Wish
>    Affects Versions: 2.10.1
>            Reporter: Michael Szodorai
>            Priority: Minor
>
> {code:java}
>  java.lang.NullPointerException
> at java.base/java.util.Objects.requireNonNull(Objects.java:221)
> at 
> org.apache.activemq.artemis@2.10.1//org.apache.activemq.artemis.reader.MessageUtil.getInteger(MessageUtil.java:267)
> at 
> org.apache.activemq.artemis@2.10.1//org.apache.activemq.artemis.reader.MessageUtil.setObjectProperty(MessageUtil.java:258)
> at 
> org.apache.activemq.artemis@2.10.1//org.apache.activemq.artemis.jms.client.ActiveMQMessage.setObjectProperty(ActiveMQMessage.java:702)
> at 
> org.apache.activemq.artemis@2.10.1//org.apache.activemq.artemis.jms.client.ActiveMQMessage.<init>(ActiveMQMessage.java:296)
> at 
> org.apache.activemq.artemis@2.10.1//org.apache.activemq.artemis.jms.client.ActiveMQBytesMessage.<init>(ActiveMQBytesMessage.java:88)
> at 
> org.apache.activemq.artemis@2.10.1//org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.doSendx(ActiveMQMessageProducer.java:421)
> at 
> org.apache.activemq.artemis@2.10.1//org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:222)
> at 
> org.apache.activemq.artemis@2.10.1//org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.sendMessages(JMSBridgeImpl.java:1627)
> at 
> org.apache.activemq.artemis@2.10.1//org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.sendBatchNonTransacted(JMSBridgeImpl.java:1460)
> at 
> org.apache.activemq.artemis@2.10.1//org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.sendBatch(JMSBridgeImpl.java:1435)
> at 
> org.apache.activemq.artemis@2.10.1//org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.access$1800(JMSBridgeImpl.java:77)
> at 
> org.apache.activemq.artemis@2.10.1//org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl$SourceReceiver.run(JMSBridgeImpl.java:1829)
> at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to