users@jms-spec.java.net

[jms-spec users] [jsr343-experts] Re: (JMS_SPEC-64) Define simplified JMS API

From: John Harby <jharby_at_gmail.com>
Date: Thu, 29 Mar 2012 17:05:42 -0700

+1 too

Thanks,
John Harby


On Thu, Mar 29, 2012 at 3:57 PM, reza_rahman_at_lycos.com <
reza_rahman_at_lycos.com> wrote:

> I don't think it's that important.
>
> Mar 29, 2012 07:56:56 AM, jsr343-experts_at_jms-spec.java.net wrote:
>
> ===========================================
>
> I have spotted one further possible change that we may want to consider
> making to the simplified API. This is the
> "subscribe" method, for creating a durable subscription but not a consumer.
>
> context.subscribe(inboundTopic, "mysub", messageSelector, noLocal);
>
> I added this initially because the only alternative was to use
> createSyncConsumer to create a SyncMessageConsumer and
> immediately close it.
>
> SyncMessageConsumer consumer =
> context.createSyncDurableSubscriber(inboundTopic, "mysub");
> consumer.close();
>
> I thought this was particularly inappropriate because an application which
> subsequently intended to consume messages
> asynchronously would need to create a SyncMessageConsumer.
>
> However following the recent changes, an application which wants to create
> a durable subscription but not actually
> consume messages from it can do the following:
>
> JMSConsumer consumer = context.createDurableSubscriber(inboundTopic,
> "mysub");
> consumer.close();
>
> This is identical to how this would be done using the standard JMS 1.1 API.
>
> This suggests that perhaps we don't need
>
> void subscribe(Topic topic, String name, String messageSelector,
> boolean noLocal);
>
> after all. Applications have managed without it for a decade, and in any
> case this caters for a pretty rare use case
> anyway: in most cases, an application which created a durable subscription
> would want to go on and consume messages from it.
>
> So: is the subscribe method on JMSContext unnecessary bloat? Or is it a
> useful addition to the API? I'm not sure.
>
> Any views?
>
> Nigel
>