jsr343-experts@jms-spec.java.net

[jsr343-experts] Re: (JMS_SPEC-51) Change Session.createDurableSubscriber() to return a MessageConsumer

From: Nigel Deakin <nigel.deakin_at_oracle.com>
Date: Mon, 19 Sep 2011 15:41:36 +0100

On 19/09/2011 13:20, Ruediger zu Dohna wrote:
> Nigel,
>
> wouldn't existing code need to do a downcast from MessageConsumer to TopicSubscriber?

Er, yes. So it would! I wasn't thinking properly...

I was trying to avoid users having to change their code. Perhaps we need to add a new method and deprecate the old one.

Thanks,

Nigel

>
> On 19.09.2011 13:40, Nigel Deakin wrote:
>> On 16/09/2011 19:58, reza_rahman_at_lycos.com wrote:
>>> +1. However, it would not be 100% backwards compatible, would it?
>>>
>> What kind of compatibility would this break? Existing application code
>> would not need to be changed.
>>
>> Nigel
>>
>>
>>> Sep 16, 2011 02:35:46 PM, jsr343-experts_at_jms-spec.java.net
>>> <mailto:jsr343-experts_at_jms-spec.java.net> wrote:
>>>
>>> I have logged the following JIRA issue:
>>> http://java.net/jira/browse/JMS_SPEC-51
>>>
>>> Here is the description, which I think is self-explanatory (I
>>> originally raised this as part of JMS_SPEC-47, but I am
>>> now separating it out to a separate trackable issue).
>>>
>>> There were no objections when I first suggested this, but if
>>> anyone has any comments please make them now.
>>>
>>> ----------------------
>>> In JMS 1.1 the method Session.createDurableSubscriber() returns a
>>> TopicSubscriber, not a MessageConsumer.
>>>
>>> This is the only "domain-independent" method in the whole JMS 1.1
>>> API which depends on a "domain-specific" interface.
>>> This dependency prevents the "domain-specific" interfaces being
>>> removed from JMS as proposed in JMS_SPEC-47
>>>
>>> It is therefore proposed to modify this method to return a
>>> MessageConsumer. Since this is a supertype of TopicSubscriber
>>> it should not break existing applications.
>>> ----------------------
>>>
>>>
>>> Nigel
>>>
>>>