Fraser,

It seems that map message would probably be your choice.
I agree it's quite hideous.

Another option I floated (and the majority didn't like it) was to have
the list as a single entry in the map instead of having to do
map.getObject("1").

So you can do something like List list = (List)map.getObject("list")
and then work with the list.
A good compromise would be to have both approaches in the MapMessage
interface for the List message.

Rajith

On Fri, Feb 8, 2013 at 4:31 AM, Fraser Adams
<[email protected]> wrote:
> Hi Guys,
> I was planning on having a look at the org.apache.qpid.jms.ListMessage stuff
> and move away from the cast to MapMessage, but a somewhat irksome thought
> struck me before I got started.
>
> As the moment my QMF2 code can compile against more or less any version of
> the Qpid Java client runtime. I needed to include a specific target to build
> a patched AMQPMessageDelegate_0_10.java for versions below 0.10 but
> everything else should currently just compile.
>
>
> I'm guessing that org.apache.qpid.jms.ListMessage was added in 0.20, so if I
> actually use it compilation will break for everything else :-(
>
> I'm not wildly keen on the MapMessage approach as you know, both for
> "philosophical reasons :-)" and because I can't get the size() so I need to
> "make up" a size for the ArrayList that I copy the elements from the
> MapMessage into. The asList() method on ListMessage looked to be the nicest
> option from the recent threads.
>
>
> So I'm thinking that I'm going to either:
> a) Have to stick with MapMessage 'cause I know that compiles across the
> board, but it offends me rather.
> b) have a specific target for 0.20 onwards, which I don't especially like
> either.
> c) Use reflection to find the asList(), which should be do-able and has a
> certain entertainment value, but I suspect will probably be less efficient
> than just living with the MapMessage inefficiencies - I can't say for sure,
> any thoughts on that?
>
>
> Does anybody have any better suggestions than those that'll allow me to use
> lists across different Qpid releases without needing different builds?
>
>
> Did I mention I preferred ObjectMessage :-) so this'll be another reason why
> I do :-D
>
> Cheers,
> Frase
>
>
> On 29/01/13 20:18, Rajith Attapattu wrote:
>>
>> You can cast it to the said interface.
>> List message interface has a method called asList() to retrieve a
>> java.util.List or you can use methods like get(int index)
>>
>> If you use -Dqpid.use_legacy_stream_message=false, then the sender
>> could work with the standard stream message interface and it will get
>> sent on the wire as a List Message.
>> On the receiver side, you could use the stream message methods as well.
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to