1. 20 Jul, 2018 2 commits
  2. 18 Jul, 2018 2 commits
  3. 17 Jul, 2018 3 commits
  4. 16 Jul, 2018 2 commits
  5. 13 Jul, 2018 2 commits
  6. 12 Jul, 2018 2 commits
  7. 11 Jul, 2018 2 commits
    • Andy Wilkinson's avatar
      Update view of bean types when an override is detected · 6dc14af9
      Andy Wilkinson authored
      Previously, when a bean was overridden and its type changes,
      BeanTypeRegistry could be left with a stale view of the bean's type.
      This would lead to incorrect bean condition evaluation as conditions
      would match or not match based on the bean's old type.
      
      This commit updates the type registry to refresh its view of a bean's
      type when its definition changes.
      
      Closes gh-13588
      6dc14af9
    • Andy Wilkinson's avatar
      Delay property source initialization till LoggingSystem is initialized · 57ebdab2
      Andy Wilkinson authored
      Previously, the initialization of StandardServletEnvironment's
      property sources in SpringBootServletInitializer led to debug logging
      calls being made before the LoggingSystem had been initialized. As a
      result, the system's default configuration was used and, in the case
      of Logback at least, the debug logging was output to System.out
      in a war deployment.
      
      This commit updates SpringBootServletInitializer to delay the
      initialization of StandardServletEnvironment's property sources until
      after the LoggingSystem has been initialized, but still in time for
      active profiles to be configured via servlet context parameters
      (see gh-9972).
      
      Closes gh-13736
      57ebdab2
  8. 10 Jul, 2018 1 commit
    • Andy Wilkinson's avatar
      Avoid overriding beans and ensure import order is used for DataSource · 73a08dd6
      Andy Wilkinson authored
      During processing of a configuration class, the class's complete
      hierarchy is processed and during the processing of each class its
      member classes are processed. Previously, each pool-specific
      inner-class of DataSourceConfiguration extended the abstract outer
      class. This meant that when the import from
      DataSourceAutoConfiguration.PooledDataSourceConfiguration caused the
      first pool-specific inner-class to be  processed,
      DataSourceConfiguration would be processed as it was the inner-class's
      superclass. In turn all of DataSourceConfiguration's member classes
      would then be processed. This caused the first import (of
      DataSourceConfiguration.Tomcat) to trigger processing of all of the
      other pool-specific inner-classes in whatever order they were found
      rather than them being processed in the order in which they are
      imported by DataSourceAutoConfiguration.PooledDataSourceConfiguration.
      
      Another part of the problem was that none of the pool-specific
      inner-classes were conditional on a missing DataSource bean. This
      meant that, when multiple pools were on the classpath, each class
      after the first would override the previous class's definition of the
      DataSource bean.
      
      This commit updates each of the pool-specific inner-classes so that
      they no longer extend DataSourceConfiguration. This ensures that
      the inner classes are processed in the order defined in the import
      on PooledDataSourceConfiguration. Each of the classes has also been
      annotated with @ConditionalOnMissingBean(DataSource.class). This
      prevents the DataSource bean definition from being overridden and
      ensures that the order of precedence for the pool that will be used
      is as defined in the import.
      
      Closes gh-13737
      73a08dd6
  9. 09 Jul, 2018 2 commits
    • Madhura Bhave's avatar
      Fix typo · 8b2cb32a
      Madhura Bhave authored
      8b2cb32a
    • Andy Wilkinson's avatar
      Fix repackaging of jars with non-default compression configuration · a50646b7
      Andy Wilkinson authored
      Previously, if a jar that used custom compression configuration was
      repackaged, a failure may occur if an entry in the repackaged jar had
      a different compressed size to the entry in the source jar.
      
      This commit updates JarWriter to clear the input entry's compressed
      size (by setting it to -1) so that the repackaged entry's compressed
      size does not have to match that of the input entry.
      
      Closes gh-13720
      a50646b7
  10. 06 Jul, 2018 1 commit
  11. 03 Jul, 2018 4 commits
  12. 28 Jun, 2018 1 commit
  13. 25 Jun, 2018 6 commits
  14. 21 Jun, 2018 7 commits
    • Andy Wilkinson's avatar
      Merge pull request #12859 from ralenmdp · f32c66d0
      Andy Wilkinson authored
      * gh-12859:
        Polish "Fix JSP availability check when not running as a packaged war"
        Fix JSP availability check when not running as a packaged war
      f32c66d0
    • Andy Wilkinson's avatar
      b1d8cc55
    • Mandap's avatar
      Fix JSP availability check when not running as a packaged war · 82465cf4
      Mandap authored
      See gh-12859
      82465cf4
    • Andy Wilkinson's avatar
      Avoid unbounded metrics creation for requests not handled by Spring MVC · b35e1ad2
      Andy Wilkinson authored
      Previously, if an HTTP request that used a templated URI was handled
      by something other than Spring MVC, a potentially unbounded number of
      metrics would be created. This happened because, in the absence of
      Spring MVC's best matching pattern attribute, MetricsFilter would fall
      back to using the request's path. If the handling route was templated,
      MetricsFilter would be unaware and would record different metrics for
      each different path, rather than a single metric for the matching
      pattern.
      
      This cimmit updates MetricsFilter so that it falls back to using
      unmapped when Spring MVC's best matching pattern attribute is not
      available. This ensures that an unbounded number of metrics will no
      longer be created, at the cost of losing specific metrics for requests
      that are not handled by Spring MVC and that do not use a templated
      path.
      
      Closes gh-5875
      b35e1ad2
    • Andy Wilkinson's avatar
      Provide Gradle example for using Log4j2 · 29e87257
      Andy Wilkinson authored
      Closes gh-12729
      29e87257
    • Andy Wilkinson's avatar
      Disable Log4J2's shutdown hook by default · 8a0f0354
      Andy Wilkinson authored
      Log4J2 enables its shutdown hook by default. When the JVM is exiting,
      this creates a race between logging that happens during the
      application context being closed and Log4J2 being shut down such that
      the logging is lost.
      
      This commit updates SpringBootConfigurationFactory so that it
      produces a custom sub-class of DefaultConfiguration that disables the
      shutdown hook by default. In addition to solving the problem described
      above, this also aligns the Log4J2 logging system with the
      logging.register-shutdown-hook property which defaults to false.
      
      Closes gh-11360
      8a0f0354
    • Stephane Nicoll's avatar
      Polish · 36605b3b
      Stephane Nicoll authored
      See gh-13534
      36605b3b
  15. 20 Jun, 2018 3 commits