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

ASF subversion and git services commented on ARTEMIS-2437:
----------------------------------------------------------

Commit 448f72738b1b7e3f4bc0a757e3905e9c73fb2336 in activemq-artemis's branch 
refs/heads/master from Timothy Bish
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=448f727 ]

ARTEMIS-2437 Allow extended types in annotations in AMQP to Core

When converting from AMQP to core and back again support annotations that
aren't able to be placed into Core message properties by storing the bytes
from encoding the types to AMQP encodings and then decoding them again
when converting back into AMQP messages.

Requires update to proton-j 0.33.2 for encoding fix


> AMQP message conversion fails if annotations contain values outwith simple 
> property types
> -----------------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-2437
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2437
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: AMQP
>    Affects Versions: 2.9.0
>            Reporter: Jiri Daněk
>            Assignee: Timothy Bish
>            Priority: Major
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> {noformat}
> $ bin/artemis browser --destination example
> Consumer:: filter = null
> Consumer ActiveMQQueue[example], thread=0 trying to browse 1000 messages
> [...]
> Consumer ActiveMQQueue[example], thread=0 browsing Alert!!!
> Consumer ActiveMQQueue[example], thread=0 browsed: 4 messages
> Consumer ActiveMQQueue[example], thread=0 Browser thread finished
> {noformat}
> In fact, there is 5 messages in the queue, and probably when browsing last 
> one, the following error is printed to broker stdout.
> {noformat}
> 2019-07-31 15:07:30,742 ERROR [org.apache.activemq.artemis.core.server] 
> AMQ224046: Exception while browser handled from 
> Reference[627]:NON-RELIABLE:AMQPMessage [durable=false, messageID=627, 
> address=example, size=121, applicationProperties=null, 
> properties=Properties{messageId=null, userId=null, to='null', subject='null', 
> replyTo='null', correlationId=null, contentType=null, contentEncoding=null, 
> absoluteExpiryTime=null, creationTime=null, groupId='null', 
> groupSequence=null, replyToGroupId='null'}, extraProperties = 
> TypedProperties[_AMQ_AD=example]]: java.lang.RuntimeException: class 
> java.util.LinkedHashMap is not a valid property type
>         at 
> org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.toCore(AMQPMessage.java:695)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.core.protocol.core.impl.CoreSessionCallback.sendMessage(CoreSessionCallback.java:123)
>  [artemis-server-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.deliverStandardMessage(ServerConsumerImpl.java:1168)
>  [artemis-server-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.proceedDeliver(ServerConsumerImpl.java:510)
>  [artemis-server-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl$BrowserDeliverer.run(ServerConsumerImpl.java:1484)
>  [artemis-server-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
>  [artemis-commons-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
>  [artemis-commons-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66)
>  [artemis-commons-2.9.0.jar:2.9.0]
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>  [rt.jar:1.8.0_212]
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>  [rt.jar:1.8.0_212]
>         at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
>  [artemis-commons-2.9.0.jar:2.9.0]
> Caused by: 
> org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException: 
> class java.util.LinkedHashMap is not a valid property type
>         at 
> org.apache.activemq.artemis.utils.collections.TypedProperties.setObjectProperty(TypedProperties.java:1112)
>  [artemis-commons-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.core.message.impl.CoreMessage.putObjectProperty(CoreMessage.java:1014)
>  [artemis-core-client-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.core.message.impl.CoreMessage.putObjectProperty(CoreMessage.java:1030)
>  [artemis-core-client-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.core.message.impl.CoreMessage.putObjectProperty(CoreMessage.java:53)
>  [artemis-core-client-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.reader.MessageUtil.setObjectProperty(MessageUtil.java:262)
>  [artemis-core-client-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSMessage.setObjectProperty(ServerJMSMessage.java:345)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.protocol.amqp.converter.AmqpCoreConverter.setProperty(AmqpCoreConverter.java:441)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.protocol.amqp.converter.AmqpCoreConverter.processMessageAnnotations(AmqpCoreConverter.java:281)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.protocol.amqp.converter.AmqpCoreConverter.toCore(AmqpCoreConverter.java:202)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
>         at 
> org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.toCore(AMQPMessage.java:692)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
>         ... 10 more
> {noformat}
> When browsing messages in web console, no messages are displayed for this 
> queue.
> I will add reproducer when I create it.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to