Uploaded image for project: 'Log4j 2'
  1. Log4j 2
  2. LOG4J2-1591

New method on LifeCycle interface breaks binary compatibility

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.7
    • Component/s: None
    • Labels:
      None

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                remkop@yahoo.com Remko Popma
                Reporter:
                remkop@yahoo.com Remko Popma
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: