[
https://issues.apache.org/jira/browse/ARTEMIS-3317?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Justin Bertram updated ARTEMIS-3317:
------------------------------------
Description:
When using an OpenWire producer & consumer setting any of these properties will
cause a {{ClassCastException}} on the broker and the message will not be
delivered to the consumer:
* {{__HDR_BROKER_PATH}}
* {{__HDR_CLUSTER}}
* {{__HDR_USER_ID}}
{noformat}
WARN [org.apache.activemq.artemis.core.server] Error during message dispatch:
java.lang.ClassCastException: org.apache.activemq.artemis.api.core.SimpleString
cannot be cast to java.lang.String
at
org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.toAMQMessage(OpenWireMessageConverter.java:593)
[artemis-openwire-protocol-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
at
org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.createMessageDispatch(OpenWireMessageConverter.java:502)
[artemis-openwire-protocol-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
at
org.apache.activemq.artemis.core.protocol.openwire.amq.AMQConsumer.handleDeliver(AMQConsumer.java:268)
[artemis-openwire-protocol-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
at
org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.sendMessage(AMQSession.java:309)
[artemis-openwire-protocol-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
at
org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.deliverStandardMessage(ServerConsumerImpl.java:1169)
[artemis-server-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
at
org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.proceedDeliver(ServerConsumerImpl.java:508)
[artemis-server-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
at
org.apache.activemq.artemis.core.server.impl.QueueImpl.proceedDeliver(QueueImpl.java:3746)
[artemis-server-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
at
org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:3049)
[artemis-server-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
at
org.apache.activemq.artemis.core.server.impl.QueueImpl.access$2400(QueueImpl.java:126)
[artemis-server-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
at
org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:4121)
[artemis-server-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
at
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
[artemis-commons-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
at
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
[artemis-commons-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
at
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:65)
[artemis-commons-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[rt.jar:1.8.0_282]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[rt.jar:1.8.0_282]
at
org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
[artemis-commons-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
{noformat}
> OpenWire property conversion can cause ClassCastException
> ---------------------------------------------------------
>
> Key: ARTEMIS-3317
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3317
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Reporter: Justin Bertram
> Assignee: Justin Bertram
> Priority: Major
>
> When using an OpenWire producer & consumer setting any of these properties
> will cause a {{ClassCastException}} on the broker and the message will not be
> delivered to the consumer:
> * {{__HDR_BROKER_PATH}}
> * {{__HDR_CLUSTER}}
> * {{__HDR_USER_ID}}
> {noformat}
> WARN [org.apache.activemq.artemis.core.server] Error during message
> dispatch: java.lang.ClassCastException:
> org.apache.activemq.artemis.api.core.SimpleString cannot be cast to
> java.lang.String
> at
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.toAMQMessage(OpenWireMessageConverter.java:593)
> [artemis-openwire-protocol-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
> at
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.createMessageDispatch(OpenWireMessageConverter.java:502)
> [artemis-openwire-protocol-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
> at
> org.apache.activemq.artemis.core.protocol.openwire.amq.AMQConsumer.handleDeliver(AMQConsumer.java:268)
> [artemis-openwire-protocol-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
> at
> org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.sendMessage(AMQSession.java:309)
> [artemis-openwire-protocol-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
> at
> org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.deliverStandardMessage(ServerConsumerImpl.java:1169)
> [artemis-server-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
> at
> org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.proceedDeliver(ServerConsumerImpl.java:508)
> [artemis-server-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
> at
> org.apache.activemq.artemis.core.server.impl.QueueImpl.proceedDeliver(QueueImpl.java:3746)
> [artemis-server-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
> at
> org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:3049)
> [artemis-server-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
> at
> org.apache.activemq.artemis.core.server.impl.QueueImpl.access$2400(QueueImpl.java:126)
> [artemis-server-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
> at
> org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:4121)
> [artemis-server-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
> at
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
> [artemis-commons-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
> at
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
> [artemis-commons-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
> at
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:65)
> [artemis-commons-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> [rt.jar:1.8.0_282]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> [rt.jar:1.8.0_282]
> at
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
> [artemis-commons-2.16.0.redhat-00012.jar:2.16.0.redhat-00012]
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)