1. 18 Mar, 2016 1 commit
    • Stephane Nicoll's avatar
      Add Couchbase cache support · caf11e44
      Stephane Nicoll authored
      This commit updates the cache auto-configuration to provide a
      `CouchbaseCacheManager` if a `Bucket` has been configured.
      
      The global customizer infrastructure allows to further tune the cache
      manager if necessary.
      
      Closes gh-5176
      caf11e44
  2. 17 Mar, 2016 7 commits
  3. 16 Mar, 2016 2 commits
  4. 15 Mar, 2016 3 commits
  5. 14 Mar, 2016 5 commits
  6. 13 Mar, 2016 1 commit
  7. 12 Mar, 2016 2 commits
  8. 11 Mar, 2016 2 commits
    • Stephane Nicoll's avatar
      Allow to disable debug property · d22265b1
      Stephane Nicoll authored
      Previously, adding `debug=false` in the environment had no effect as the
      mere presence of the property was used to enable the debug mode. This
      commit makes sure to also check the value and ignore the property if it
      is set to `false`.
      
      The documentation has also been updated to refer to the `trace` property.
      
      Closes gh-5374
      d22265b1
    • Stephane Nicoll's avatar
      Polish doc · 8cb602f2
      Stephane Nicoll authored
      Closes gh-5375
      8cb602f2
  9. 10 Mar, 2016 4 commits
    • Stephane Nicoll's avatar
      Collect and display build information · dddea709
      Stephane Nicoll authored
      This commit updates the Maven plugin to generate a
      `META-INF/boot/build.properties` file with various build-specific
      settings (group, artifact, name, version and build time). Additionally,
      the plugin can be configured to write an arbitrary number of additional
      properties.
      
      A new `BuildProperties` bean is automatically exposed when such a file is
      present. If that bean is present, an `InfoContributor` is automatically
      created to expose that information under the `build` key.
      
      As for the git contributor, it is possible to only display the core
      settings or everything using the `management.info.build.mode` property.
      
      See gh-2559
      dddea709
    • Stephane Nicoll's avatar
      Add Date as a support property type · 3e6b5849
      Stephane Nicoll authored
      Rather than exposing a raw String with the epoch time, GitProperties
      now exposes the actual `java.util.Date`. `InfoProperties` has been
      improved to return such data type when the raw value is an epoch time.
      3e6b5849
    • Stephane Nicoll's avatar
      Merge pull request #5384 from izeye/polish-20160310 · a508864d
      Stephane Nicoll authored
      * pr/5384:
        Polish
      a508864d
    • Johnny Lim's avatar
      Polish · 1d02184b
      Johnny Lim authored
      Closes gh-5384
      1d02184b
  10. 09 Mar, 2016 8 commits
    • Stephane Nicoll's avatar
      Deprecate ConfigurationProperties#location · b8dc4e74
      Stephane Nicoll authored
      Closes gh-5129
      b8dc4e74
    • Stephane Nicoll's avatar
      Fix typo · 58e8e10a
      Stephane Nicoll authored
      Closes gh-5343
      58e8e10a
    • Stephane Nicoll's avatar
      Initiate GitProperties · b906b186
      Stephane Nicoll authored
      This commit polish the new info contributor infrastructure by migrating
      `GitInfo` to `GitProperties`. `InfoProperties` provides an abstraction
      that exposes unstructured data in an immutable way.
      
      The `GitInfoContributor` now accepts a "mode" that determines if all data
      should be exposed or only a sub-set of known keys.
      
      Closes gh-2644
      b906b186
    • Andy Wilkinson's avatar
      Make context available when handling refresh failure · 474aed05
      Andy Wilkinson authored
      Previously, if SpringApplication.run failed due to the refresh of the
      application context throwing an exception, the application context
      would not be available during run failure handling. This meant that
      null was passed to any SpringApplicationRunListeners, however the
      javadoc for the finished method does not indicate that it is possible
      for null to be passed in. In addition to the possibility of a
      NullPointerException, a side-effect of this behaviour was that the
      auto-configuration report was not produced when refresh fails, making
      it useless as a tool for diagnosing refresh failures.
      
      This commit updates SpringApplication to take a reference to the
      application context as early as possible and, crucially, before it
      has been refreshed. This means that refresh no longer has to succeed for
      the context to be passed to any SpringApplicationRunListeners and that
      they will now receive an inactive context, rather than a null context in
      the event of a refresh failure.
      
      Closes gh-5325
      474aed05
    • Andy Wilkinson's avatar
      Remove unwanted printing of stack trace from the Launcher · 427d3140
      Andy Wilkinson authored
      Previously, the Launcher would call ex.printStackTrace for any
      exception that was thrown when launching the application. This was
      unnecessary as the stack trace should already have been logged by
      the application when it failed to start.
      
      This commit removes the call to ex.printStackTrace, thereby allowing
      an exception to be logged only once or not at all after successful
      failure analysis.
      
      Closes gh-5358
      427d3140
    • Andy Wilkinson's avatar
      Improve failure diagnostics for messing Bean Validation provider · ff509eec
      Andy Wilkinson authored
      When the bean validation API is on the class path, but there is no
      provider available, the stack trace that results is pretty much
      useless. All the user needs to know is that the have the Bean
      Validation API on the class path and that they should also add
      an implementation, such as Hibernate Validator, if they want to
      use validation.
      
      This commit introduces a FailureAnalyser for ValidationException,
      that returns a FailureAnalysis when the ValidationException is a
      result of the situation described above.
      
      Closes gh-5332
      ff509eec
    • Andy Wilkinson's avatar
      Make it easier to run JUnit tests against a subset of the class path · 6035fe4c
      Andy Wilkinson authored
      Due to `@ConditionalOnClass` and `@ConditionalOnMissingClass`, the
      behaviour of many auto-configuration classes is dependant on the
      contents of the class path, yet we do not have a lightweight way of
      testing such classes against a specific class path.
      
      This commit introduces FilteredClassPathRunner, a JUnit Runner that
      runs a class’s tests using a filtered class path. A
      `@ClassPathExclusions` annotation on a test class can be used to
      filter entries from the project’s default class path, thereby allowing
      a configuration class’s behaviour in the presence or absence of
      certain classes to be tested more easily.
      
      Closes gh-5359
      6035fe4c
    • Phillip Webb's avatar
      Support JsonSerializer/JsonDeserializer Beans · b260c20d
      Phillip Webb authored
      Add a `@JsonComponent` annotation that can be used to indicate that a
      Bean is a JsonSerializer and/or JsonDeserializer that should be
      registered with Jackson.
      
      Support is provide via a new `JsonComponentModule` which is
      auto-configured in `JacksonAutoConfiguration`.
      
      Also add `JsonObjectSerializer` and `JsonObjectDeserializer` classes
      which provided as a convenient base for serializers that work with
      Objects.
      
      Fixes gh-3898
      b260c20d
  11. 08 Mar, 2016 5 commits
    • Phillip Webb's avatar
      Polish · a3f3de22
      Phillip Webb authored
      a3f3de22
    • Phillip Webb's avatar
      Merge branch '1.3.x' · 644ae2c2
      Phillip Webb authored
      644ae2c2
    • Phillip Webb's avatar
      Polish · 5e722dae
      Phillip Webb authored
      5e722dae
    • Andy Wilkinson's avatar
      Ensure that Tomcat does not report unstopped main thread when startup fails · d7d2404c
      Andy Wilkinson authored
      Following the changes made in ff99bb07, Tomcat’s WebAppClassLoader is
      set as the thread context class loader of the main thread. If Tomcat
      was stopped while the main thread was still running (typically as a 
      result of a startup failure), this had the unwanted side-effect of
      causing Tomcat to report that the application had started a thread named
      main and had failed to stop it.
      
      This commit updates TomcatEmbeddedServletContainer so that, during stop
      processing, the current thread’s context class loader is reset before
      Tomcat is stopped. This prevents Tomcat from incorrectly believe that
      the application has started and failed to stop the main thread.
      
      Closes gh-5357
      d7d2404c
    • Stephane Nicoll's avatar
      Merge branch '1.3.x' · cc2f6f4b
      Stephane Nicoll authored
      cc2f6f4b