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

New method on LifeCycle interface breaks binary compatibility

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment