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

Gary Tully commented on AMQ-3949:
---------------------------------

that copy is to protect access to the message content which is unmarshalled on 
demand without sync, eg: the message properties.
Also, transformers are per consumer.

If each consumer wants to see a single readonly instance of the message, doing 
a single unmarshal in-place of a copy would work, but would require a sync on 
connection dispatch for the duration.
                
> Why ActiveMQMessageConsumer.dispatch copies message per listener
> ----------------------------------------------------------------
>
>                 Key: AMQ-3949
>                 URL: https://issues.apache.org/jira/browse/AMQ-3949
>             Project: ActiveMQ
>          Issue Type: Improvement
>            Reporter: Martin Chan Shu Ching
>            Priority: Minor
>
> When the consumer receives a topic message, the message is copied in 
> ActiveMQMessageConsumer.dispatch() line 1294. If there are 10 consumers, the 
> message will be copied 10 times. Wondering if that's really necessary to copy 
> the content because we are doing performance tuning in our applications and 
> found there is high memory usage in the MQ layer.
> line:1294
> ActiveMQMessage message = createActiveMQMessage(md);

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to