1. 02 Sep, 2015 4 commits
  2. 01 Sep, 2015 3 commits
    • Stephane Nicoll's avatar
      Refine check · 5043c959
      Stephane Nicoll authored
      Refine commit 8a964814 to set the web environment to false if spring web
      is not available in the classpath. Thanks to @mjustin for spotting that
      mistake.
      
      Closes gh-3856
      5043c959
    • Stephane Nicoll's avatar
      Store container installs in home directory · 426a8dc1
      Stephane Nicoll authored
      Previously, deployment tests were storing the container archives in the
      default location (that is `/tmp`) for a total weight of 160MB. In case
      the temp directory is cleaned on CI, these have to be downloaded again.
      
      We're now configuring cargo to store these archives in the home directory
      instead. This should improve the speed and the stability of the
      deployment tests
      
      Closes gh-3861
      426a8dc1
    • Stephane Nicoll's avatar
      Properly guard customization of application context class · 8a964814
      Stephane Nicoll authored
      SpringApplication wrongly expects spring-web to be on the classpath to
      figure out whether or not the web environment should be enabled for a
      custom context class.
      
      We now properly guard this check so that the web environment is not
      enabled (read: not checked) if `spring-web` is not available.
      
      Closes gh-3856
      8a964814
  3. 29 Aug, 2015 1 commit
  4. 26 Aug, 2015 1 commit
  5. 25 Aug, 2015 1 commit
  6. 20 Aug, 2015 1 commit
  7. 17 Aug, 2015 1 commit
    • Stephane Nicoll's avatar
      Properly guard DB health indicator · 11b82cc6
      Stephane Nicoll authored
      The DataSource health indicator uses `JdbcTemplate` behind the scenes
      but nothing was checking that it is actually available.
      
      `DataSourcesHealthIndicatorConfiguration` is now disabled if
      `spring-jdbc` is not on the classpath.
      
      Fixes gh-3765
      11b82cc6
  8. 14 Aug, 2015 1 commit
  9. 10 Aug, 2015 4 commits
  10. 09 Aug, 2015 1 commit
  11. 07 Aug, 2015 1 commit
  12. 05 Aug, 2015 7 commits
  13. 04 Aug, 2015 1 commit
    • Andy Wilkinson's avatar
      Consider @Bean methods with args to determine type created by factory · 905346d0
      Andy Wilkinson authored
      Previously, BeanTypeRegistry would only look for a @Bean method
      with no arguments when trying to determine the type that will be
      created by a factory bean. This meant that the type produced by a
      factory bean declared via a @Bean that has one or more arguments would
      be unknown and any on missing bean conditions look for a bean of the
      type produced by the factory bean would match in error.
      
      This commit updates BeanTypeRegistry to, where possible, use the
      factory method metadata for the bean definition when determining the
      type that will be created. This allows it to determine the type for
      factory bean created by @Bean methods that take arguments and also
      avoids the use reflection to find the factory method. Where factory
      method metadata is not available, the existing reflection-based
      approach is used as a fallback.
      
      Closes gh-3657
      905346d0
  14. 03 Aug, 2015 5 commits
    • Phillip Webb's avatar
      Polish · 2c0ec1b4
      Phillip Webb authored
      2c0ec1b4
    • Andy Wilkinson's avatar
      Merge branch 'gh-3628' into 1.2.x · acfb07bd
      Andy Wilkinson authored
      acfb07bd
    • Andy Wilkinson's avatar
      Polish contribution · 838e0ef3
      Andy Wilkinson authored
      - Extract the logic that coerces the string into a LogLevel into a
        separate method.
      - Add a test that verifies that false is mapped to LogLevel.OFF
      
      Closes gh-3628
      838e0ef3
    • shanman190's avatar
      Make it easier to use YAML configuration to turn off a logger · cbd37b58
      shanman190 authored
      A level named off is used to disable logging for a particular logger.
      YAML interprets off as false, leading to a failed attempt to get the
      LogLevel for FALSE. A workaround is to quote the level, i.e. use "off"
      rather than off.
      
      This commit updates LoggingApplicationListener to coerce the string
      false back to the level off.
      
      Closes gh-3631
      See gh-3628
      cbd37b58
    • Andy Wilkinson's avatar
      Use fast exceptions in hasMoreElements in LaunchedURLClassLoader · d241171f
      Andy Wilkinson authored
      When nested jars are being used, hasMoreElements requires opening a
      connection for an entry in every nested jar. If that entry doesn't
      exist, a FileNotFoundException is thrown to indicate that a particular
      jar doesn't contain the requested entry. This exception is used to
      indicate the lack of an entry and is then swallowed, i.e. its stack
      trace is of no importance. This means that the performance of
      hasMoreElements can be improved by switching on fast exceptions while
      it's being called. When fast exceptions are switched on a general
      purpose pre-initialized FileNotFoundException is thrown rather than
      creating a new FileNotFoundException instance each time.
      
      In certain situations, the use of fast exceptions as described above
      can improve performance fairly significantly. The JRE's default SAAJ
      implementation uses META-INF/services-based discovery for _every_
      request that's handled by Spring Web Services. Each discovery attempt
      results in hasMoreElements being called making its performance
      critical to throughput.
      
      See gh-3640
      d241171f
  15. 27 Jul, 2015 2 commits
  16. 23 Jul, 2015 2 commits
  17. 22 Jul, 2015 2 commits
    • Andy Wilkinson's avatar
      Avoid changing root logger level when setting level of unconfigured logger · a43cd18a
      Andy Wilkinson authored
      Previously getLoggerConfig(loggerName) was used to retrieve the
      LoggerConfig object on which the level was to be set. As described in the
      method’s javadoc it will “remove tokens from the package name as
      necessary or return the root LoggerConfig if no other matches were found”.
      This is problematic as, if there’s no configuration for the logger whose
      level is being configured, the level will be applied to a logger from an
      outer package or to the root logger.
      
      This commit updates Log4J2LoggingSystem to use the configuration’s map of
      LoggerConfigs, rather than calling getLoggerConfig. In the event of the
      level being set on an unconfigured logger, this will produce a null
      LoggerConfig. When a null LoggerConfig is encountered, a new one is
      created with the appropriate level. If the config already exists, its
      level is set as it was before.
      
      The code that was accessing the root logger using a magic null value
      (which was then coerced into the root logger’s name (an empty string))
      has also been updated to make it clearer that they are purposefully
      dealing with the root logger.
      
      Closes gh-3550
      a43cd18a
    • Andy Wilkinson's avatar
      Upgrade to Groovy 2.4.4 · 9b6538d5
      Andy Wilkinson authored
      Typically, a Spring Boot maintenance release would not move to a new
      minor version of a dependency. However there is a security
      vulnerability in Groovy [1] and 2.4.4 is the only release which
      contains a fix for it.
      
      The commit upgrades to 2.4.4, thereby ensuring that users of Groovy
      are not vulnerable by default. Users of Groovy whose applications are
      not affected by the vulnerability may choose to downgrade back to
      2.3.11 by overriding Spring Boot's dependency management.
      
      Closes gh-3540
      
      [1] http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3253
      9b6538d5
  18. 20 Jul, 2015 2 commits
    • Phillip Webb's avatar
      Polish · d2d71934
      Phillip Webb authored
      d2d71934
    • Stephane Nicoll's avatar
      Clean management context path if necessary · 539b009d
      Stephane Nicoll authored
      Various areas of the code expect the management's context path to not
      contain any trailing slash but nothing is enforcing it. We now make sure
      to remove any trailing slash, including the one for '/' and make that
      explicit via the Javadoc of the getter.
      
      Fixes gh-3553
      539b009d