On 02/12/06, Rajith Attapattu <[EMAIL PROTECTED]> 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
delivery.
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