jsr345-experts@ejb-spec.java.net

[jsr345-experts] Re: EJB_SPEC-71 - Clarify rules on Timer.cancel

From: Marina Vatkina <marina.vatkina_at_oracle.com>
Date: Tue, 04 Dec 2012 09:40:22 -0800

Linda DeMichiel wrote:
>
>
> On 12/3/2012 11:03 PM, Marina Vatkina wrote:
>> Experts,
>>
>> Please look at http://java.net/jira/browse/EJB_SPEC-71 - which is a
>> separate issue on Timer.cancel mismatch in the spec.
>>
>> Please let me know, if you think that:
>>
>> a) A timer can be cancelled only by the bean that owns it (as in
>> getAllTimers() rule)
>>
>
> no
>
>> Or
>>
>> b1) A timer can be cancelled by calling Timer.cancel() (i.e. the rule
>> in getAllTimers() should be removed)
>>
>
> yes
>
>> b2) Timer can be cancelled by a non-EJB caller (i.e. the spec should
>> remove references to a bean or a Bean Provider when
>> describing the timer cancellation).
>>
>
> yes
>
>> Depending on the outcome of your vote, I'll update the spec one way
>> or the other.
>>
>
> The spec should not prohibit this, as that would be a
> backward-incompatible change.
>
> I don't see any reason for encouraging it either, i.e., the language
> of EJB 3.1 is sufficient.

The spec says "Timer object [...] allows the bean to cancel the timer"
or "the Bean Provider to cancel a timer". So the spec needs to change to
allow b2.

thanks,
-marina
>
> -Linda
>
>> As a note: GlassFish (RI) allows a non-owning bean (I didn't check a
>> servlet) to cancel a timer by calling its cancel()
>> method.
>>
>>
>> thanks,
>> -marina