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

New method on LifeCycle interface breaks binary compatibility

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • None
    • 2.7
    • None
    • 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

              rpopma Remko Popma
              rpopma Remko Popma
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: