Update `Restarter` to support a `FailureHandler` strategy that can be
used to determine how to deal with errors. The
`LocalDevToolsAutoConfiguration` now uses a strategy that doesn't quit
the application, but instead continues to wait for further file changes.
This helps make restart much more usable in situations where you
accidentally break code.
Fixes gh-3210
Support loading a `.spring-boot-devtools.properties` file from the
users home folder. The property file can be used to customize settings
that make sense on a per-user basis, but might not want to be checked
into the project.
Fixes gh-3151
Update DevToolsPropertyDefaultsPostProcessor to set the following
additional template cache properties to `false`:
spring.freemarker.cache
spring.groovy.template.cache
spring.velocity.cache
spring.mustache.cache
Fixes gh-3125
The FileWatcher sometimes generates multiple events for a single change
and if there is a slow shutdown hook the second one can come in before
the context is closed, leaving it in a tricky state. This change
attempts to stop the file watcher as soon as it detects a change
(the stop() method is called in the listener, which normally happens in
the same thread as the scan).
Fixes gh-3097