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

Michael Chen edited comment on AMQ-2929 at 9/22/10 1:02 PM:
------------------------------------------------------------

Debugger shows the mistake came off the wire. When the client reads the message 
from the wire, ActiveMQTextMessageMarshaller created the ActiveMQTextMessage 
with command.Message.compressed == true and Message.content contains 
decompressed text.

Therefore, there two ActiveMQ broker bugs:

1) The message queued with no consumer should not be decompressed.

2) When the message is decompressed, the compressed flag should be set to false 
before sending the message to the belated consumer.


      was (Author: mwc_tonesoft):
    Debugger shows the mistake came off the wire. When the client reads the 
message from the wire, ActiveMQTextMessageMarshaller created the 
ActiveMQTextMessage with command.Message.compressed == true and Message.content 
contains decompressed text.

Therefore, this is an ActiveMQ broker bug.

  
> Compressed text message received by consumer uncompressed
> ---------------------------------------------------------
>
>                 Key: AMQ-2929
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2929
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.3.2
>         Environment: ActiveMQ 5.3.2 / Camel 2.2.0
>            Reporter: Michael Chen
>
> I have a queue setup to send and consume compressed text messages.  This is 
> done via Spring setting ActiveMQConnectionFactory.useCompression to true.  If 
> the consumer connects to this queue before the first message is arrives, 
> everything works great.
> If the messages are sent to this queue before the consumer connects, those 
> early messages will cause ZipException "unknown compression method" when 
> consumed by the belated consumer. Debugger shows that the 
> ActiveMQTextMessage.content already contains the uncompressed text (with 4 
> leading length bytes) when ActiveMQTextMessage.getText() is called.
> If I set useCompression to false, early messages are consumed with no 
> problems.  Please look into this.
> I notice that after ActiveMQTextMessage.getText() decompress the message, it 
> does not set compressed to false. Not sure if that is the cause.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to