On Thu, 30 Aug 2012 15:40:18 -0400, Timothy Bish
<tabish121@gmail.com> wrote:
>On Thu, 2012-08-30 at 12:44 +0100, spam trap wrote:
>> On Wed, 29 Aug 2012 10:08:36 -0400, Timothy Bish
>> <tabish121@gmail.com> wrote:
>>
>> >On Wed, 2012-08-29 at 15:04 +0100, spam trap wrote:
>> >> On Wed, 29 Aug 2012 08:46:18 -0400, Timothy Bish
>> >> <tabish121@gmail.com> wrote:
>> >>
>> >> >On Wed, 2012-08-29 at 13:35 +0100, spam trap wrote:
>> >> >> I need to modify a consumed message (add new properties & change
>> >> >> payload) and then send it. I know I can't do this directly as
a
>> >> >> consumed message is read-only. However I also find that a cloned
copy
>> >> >> is also read-only.
>> >> >>
>> >> >> How can I achieve this?
>> >> >>
>> >> >
>> >> >Sounds like a bug, you should open a Jira issue and attach a test case.
>> >> >
>> >> >You can reset the read-only flags manually by casting down to the
>> >> >activemq::commands::Message type and calling the methods
>> >> >setReadOnlyProperties and setReadOnlyBody.
>> >>
>> >> I've tried this but it hasn't made any difference. I know there could
>> >> be something wrong with my code but it works if the Message object is
>> >> newly created by not if it is cloned from a consumed message (received
>> >> via an async consumer).
>> >>
>> >
>> >Best thing to do then is to create a new Jira issue and attach a unit
>> >test.
>>
>> OK. We'll do this. For now we'll also need a workaround. I can
>> create a new message and copy over the body easily. I am not sure how
>> to determine the type of the properties so that these can be copied.
>>
>> Any ideas, thanks?
>>
>
>This is fixed on trunk. also on trunk you can now query for property
>types in the Message objects. Not sure there is a workaround on the
>v3.4.x code. You might be able to cast down to the
>activemq::commands::Message type and dig into the PrimitiveMap where the
>properties are actually stored. From my testing though calling
>setReadOnlyProperties(false) works just fine.
Thanks.
Can you tell me when the changes will go into a official release?
|