[
https://issues.apache.org/jira/browse/ARTEMIS-2551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16975308#comment-16975308
]
Robbie Gemmell commented on ARTEMIS-2551:
-----------------------------------------
I would say Justin is correct.
If the JMSXGroupSeq property doesn't have an explicitly set value in the
original message then it shouldn't be getting returned in getPropertyNames().
If it is included in the enumeration then its not at all clear that Artemis
should ignore the value returned from the foreign message getObjectProperty
method simply because it is convenient in this case. It would certainly be the
wrong thing to do in other property cases, so at minimum it would need to check
every property name to ensure it only did that for JMSXGroupSeq, which would be
even uglier still. Its the foreign message impl forcing need for a workaround,
not the bridge.
> 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: Bug
> Affects Versions: 2.10.1
> Reporter: Michael Szodorai
> Priority: Critical
>
> {code:java}
> java.lang.NullPointerException
> at java.base/java.util.Objects.requireNonNull(Objects.java:221)
> at
> [email protected]//org.apache.activemq.artemis.reader.MessageUtil.getInteger(MessageUtil.java:267)
> at
> [email protected]//org.apache.activemq.artemis.reader.MessageUtil.setObjectProperty(MessageUtil.java:258)
> at
> [email protected]//org.apache.activemq.artemis.jms.client.ActiveMQMessage.setObjectProperty(ActiveMQMessage.java:702)
> at
> [email protected]//org.apache.activemq.artemis.jms.client.ActiveMQMessage.<init>(ActiveMQMessage.java:296)
> at
> [email protected]//org.apache.activemq.artemis.jms.client.ActiveMQBytesMessage.<init>(ActiveMQBytesMessage.java:88)
> at
> [email protected]//org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.doSendx(ActiveMQMessageProducer.java:421)
> at
> [email protected]//org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:222)
> at
> [email protected]//org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.sendMessages(JMSBridgeImpl.java:1627)
> at
> [email protected]//org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.sendBatchNonTransacted(JMSBridgeImpl.java:1460)
> at
> [email protected]//org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.sendBatch(JMSBridgeImpl.java:1435)
> at
> [email protected]//org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.access$1800(JMSBridgeImpl.java:77)
> at
> [email protected]//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)