qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Ritchie" <ritch...@apache.org>
Subject Re: Can somebody explain the logic behind the criteria to make a message read-only
Date Mon, 04 Dec 2006 08:33:19 GMT
On 02/12/06, Rajith Attapattu <rajith77@gmail.com> wrote:
> Hi Folks,
> Some tests are failing as it throws MessageNotWriteableException when trying
> to add properties.

I'd love to know more about what tests are failing as we have quite a
lot of testing around this as I just recently added the ability to
throw the MNWExceptions for properties.

> This exception is throw when _readableProperties is set to true in the
> AbstractJMSMessage.
> After some close inspection I see the following logic in the
> AbstractJMSMessage constructors
>        _readableProperties = (_contentHeaderProperties != null);
>        _readableMessage = data != null;
> Why is this done this way ?

We need to determine when the message has arrived so that we can throw
the correct exception. the _readableProperties setting above is wrong.
I realised that later but haven't committed the change it should be
false. However I believe that this should only be the case for the
constructor that takes the ByteBuffer, as this is used to create a new
message. The other constructors are used for creating a message for

The _readableMessage though should be as above as this method is only
called with a value for data when the message is being delivered.
Setting it to false should cause our existing Qpid test cases to fail.

> As a temorary messure I just set the above to properties to false and now it
> results in more tests being passed.

Does it not also result in some tests failing?

> However I would like to understand the reason behind the above logic to
> provide a proper fix.
> Comments are appreciated.
> Regards,
> Rajith

Martin Ritchie

View raw message