Maybe it should return an Iterator<Message>? ... deliberately not an Iterable! This would make it clear that it's just a snapshot and there's no much use to pass it as a collection around.
On 2012-01-09, at 15:01, Nigel Deakin wrote:
> John,
>
> Simply returning a Set isn't very scalable: a queue might contain thousands (or hundreds of thousands) of messages. That's why the existing API returns an Enumeration.
>
> (Also, since a Queue is by definition ordered, returning a Set would be throwing away important semantics)
>
> Nigel
>
> On 09/01/2012 13:40, John D. Ament wrote:
>>
>> Hi Nigel,
>>
>> No, I would leave the existing method, and add a new one:
>>
>> public Set<Message> getMessages() throws JMSRuntimeException { }
>>
>> I think Set is most appropriate, since the messages should be unique.
>>
>> On Mon, Jan 9, 2012 at 7:06 AM, Nigel Deakin <nigel.deakin_at_oracle.com> wrote:
>> John,
>>
>>
>> On 06/01/2012 10:49, John D. Ament wrote:
>> It may be a bit late, but is it possible for us to provide a set or list back that is properly typed (e.g.
>> javax.jms.Message) from QueueBrowser?
>>
>> Can you be more specific about what you are asking for?
>>
>> Are you asking for the existing method
>> Enumeration getEnumeration() throws JMSException;
>> to be changed to
>> Enumeration <Message> getEnumeration() throws JMSException;
>>
>> or something else?
>>
>> Nigel
>>