You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Remko Popma (JIRA)" <ji...@apache.org> on 2016/09/17 14:35:20 UTC

[jira] [Created] (LOG4J2-1591) New method on LifeCycle interface breaks binary compatibility

Remko Popma created LOG4J2-1591:
-----------------------------------

             Summary:  New method on LifeCycle interface breaks binary compatibility 
                 Key: LOG4J2-1591
                 URL: https://issues.apache.org/jira/browse/LOG4J2-1591
             Project: Log4j 2
          Issue Type: Bug
            Reporter: Remko Popma
            Priority: Blocker


https://issues.apache.org/jira/browse/LOG4J2-1539 introduced method {{stop(long, TimeUnit)}}. 

LifeCycle is a top level interface extended by Appender, Configuration, Filter and Filterable. This change will break implementations that don't extend our abstract classes. 

We should pull the new method out into a new {{LifeCycle2 extends LifeCycle}} interface. Our abstract super classes would all implement the new interface. 

In places where we are given a LifeCycle object and want to invoke the new method we first need to check that it implements LifeCycle2. If it doesn't, our code should probably call the existing stop() method so that existing custom user code continues to work. 
 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org