On 9/21/15 10:59 AM, sebb wrote:
> On 21 September 2015 at 18:36, Jörg Schaible <joerg.schai...@gmx.de> wrote:
>> Gary Gregory wrote:
>>
>>> Alternative to keep 100% BC
>>>
>>> - Remove the new method, release 2.5, and add it back for SNAPSHOT
>>> - Add the new method in a new sub-interface
>> or catch and ignore this special RTE when calling the new method form our
>> code. Old clients never asked for it, new/updated clients can use it.
>> Listener interface is a special case here.
> This is what the JLS says about binary compatibity of a method
> addition to an interface:
>
> https://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html#jls-13.5.3-100
>
> If the code were to use reflection it would notice the difference, but
> otherwise the change is BC according to the JLS.
>
> I don't think we need to do anything here, beyond pointing out that
> recompilated client code may need to be updated.
> But that is not a binary compatible issue, it is source compatibilty.

So you are saying that somehow if I have implemented a
TailerListener with the old interface and I drop in the new release,
I won't get RTE at EOF?  If that is the case, that is a nasty
surprise, regardless of what the JLS says about binary compat.

Phil
>
>> - Jörg
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>> For additional commands, e-mail: dev-h...@commons.apache.org
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to