306 Commits

Author SHA1 Message Date
Phillip Webb
1e7d85a632 Polish 2017-11-06 10:11:50 -08:00
Andy Wilkinson
723222aa95 Allow configuredLevel to be null when configuring a logger
Null value is used to indicate that the configured level should be
cleared.

Closes gh-10934
2017-11-06 12:27:39 +00:00
Stephane Nicoll
dbea25fa8b Polish "Log context path at startup"
Closes gh-10544
2017-11-06 12:49:43 +01:00
tinexw
f76479fb99 Log context path at startup
See gh-10544
2017-11-06 12:49:43 +01:00
Andy Wilkinson
60afbdc868 Polish 2017-11-06 11:44:53 +00:00
Johnny Lim
c05a299520 Polish
Closes gh-10921
2017-11-06 12:28:43 +01:00
Phillip Webb
0fbb4989da Allow recursive list binding when iterable source
Further refine recursive binding rules so that Lists are supported when
the underlying source is iterable.

Close gh-10702
2017-11-05 09:39:17 -08:00
Phillip Webb
588dcf76c6 Only allow binder recursion with Maps
Refine the binder recursion rules introduced in commit f337323819 so
they only apply to Maps. Recursive List and Array binding is now no
longer allowed. Prior to this commit, binding a List that contained a
reference to itself would fail with a `StackOverflowException` if the
underlying property source was not iterable.

Fixes gh-10702
2017-11-04 23:14:03 -07:00
Madhura Bhave
99ad79dbe6 Add tests to trigger binder stack overflow error
Update `CollectionBinderTests` with additional tests that cause a
`StackOverflowException` due to recursive list binding.

See gh-10702
2017-11-04 23:06:38 -07:00
Phillip Webb
861469fb72 Remove accidental System.out 2017-11-04 21:57:59 -07:00
Phillip Webb
fabf14ff35 Allow ApplicationPid to write to a new file
Update `ApplicationPid` so that "canWrite" is only called for files
that already exist.

See gh-9922
Fixes gh-10784
2017-11-03 23:54:31 -07:00
Phillip Webb
cf17e5708b Polish Micrometer 1.0.0-rc.3 upgrade
Polish Micrometer 1.0.0-rc.3 upgrade changes.

Closes gh-10906
2017-11-03 23:47:51 -07:00
Jon Schneider
65e6876025 Upgrade to Micrometer 1.0.0-rc.3
Upgrade to Micrometer 1.0.0-rc.3 and refactor existing
auto-configuration to align with updated APIs.

Note that Spring MVC instrumentation has now changed from an interceptor
to a Filter.

See gh-10906
2017-11-03 23:37:25 -07:00
Phillip Webb
fa191d8c73 Align ReactiveWebApplicationContext with framework
Refactor `ReactiveWebApplicationContext` implementations to align closer
with the `WebApplicationContext` implementations defined in
Spring Framework.

The following classes are now provided:

  - `AnnotationConfigReactiveWebApplicationContext` -- A refreshable
    reactive web context with support for `@Configuration` classes.

  - `GenericReactiveWebApplicationContext` -- A non-refreshable reactive
    GenericApplicationContext.

  - `ReactiveWebServerApplicationContext` --  A non-refreshable reactive
    GenericApplicationContext with support for server discovery.

  - `AnnotationConfigReactiveWebServerApplicationContext` -- A
    non-refreshable reactive `GenericApplicationContext` with support
    for `@Configuration` classes and server discovery.

These classes roughly align to the following Servlet equivalents:

  - `AnnotationConfigWebApplicationContext` (Spring Framework)
  - `GenericWebApplicationContext` (Spring Framework)
  - `ServletWebServerApplicationContext` (Spring Boot)
  - `AnnotationConfigServletWebServerApplicationContext` (Spring Boot)

An additional `ConfigurableReactiveWebEnvironment` interface as also
been introduced, primarily for `@ConditionalOnWebApplication` to use.

Fixes gh-10852
2017-11-03 19:07:23 -07:00
Phillip Webb
b6166dc12a Move Assume to spring-boot-test-support
Fixes gh-10866
2017-11-03 19:07:23 -07:00
Phillip Webb
427d262297 Polish 2017-11-03 19:07:23 -07:00
Andy Wilkinson
a0580da8fb Upgrade to Spring Ws 3.0.0.RELEASE
Closes gh-10920
2017-11-03 20:02:09 +00:00
Andy Wilkinson
c801101b14 Upgrade to Selenium 3.7.0
Closes gh-10919
2017-11-03 20:02:09 +00:00
Andy Wilkinson
d79deb3eb7 Upgrade to Infinispan 9.1.2.Final
Closes gh-10918
2017-11-03 20:02:08 +00:00
Andy Wilkinson
ffc2351484 Upgrade to Javax Json 1.1.2
Closes gh-10917
2017-11-03 20:02:08 +00:00
Andy Wilkinson
18348dd205 Upgrade to Sendgrid 4.1.2
Closes gh-10916
2017-11-03 20:02:07 +00:00
Andy Wilkinson
90f9f969d3 Upgrade to Caffeine 2.6.0
Closes gh-10915
2017-11-03 20:02:06 +00:00
Andy Wilkinson
7b757dc69a Merge branch '1.5.x' 2017-11-03 20:00:36 +00:00
Madhura Bhave
55b7a48bee Add missing conditionals 2017-11-03 11:41:55 -07:00
Brian Clozel
fa0926b178 Error handling for WebFlux should log HTTP 5xx errors
This commit ensures that all errors handled by the
`DefaultErrorWebExceptionHandler` (Spring WebFlux error convetion
support) logs an error with request information and exception
stacktrace.

This is limited to errors that result in an HTTP 5xx error.
Exceptions that extend `ResponseStatusException` and set a non-5xx
status will not be logged.

Closes gh-10904
2017-11-03 16:40:59 +01:00
Andy Wilkinson
bfe2f85a4f Merge branch '1.5.x' 2017-11-03 14:46:25 +00:00
Brian Clozel
bb9396e3a4 Enable HTTP/2 support for Tomcat and Undertow
This commit enables HTTP/2 support for Tomcat and Undertow, for both
Servlet-based and Reactive applications.

Enabling the `server.http2.enabled` configuration flag is enough with
Undertow.

Tomcat has a few prerequisites:

* Tomcat 8.5 requires JDK8+ and the proper libtcnative version installed
on the host
* Tomcat 9.0.x requires JDK9+

Closes gh-10043
2017-11-03 14:10:40 +01:00
Brian Clozel
58db841c8f Add Http2 configuration properties
This commit adds a new configuration properties class for configuring
HTTP/2 protocol support.
By default, this protocol is disabled as enabling it requires several
manual changes:

* configuring a web server for proper TLS and ALPN support
* configuring a proper SSL certificate

See gh-10043
2017-11-03 13:56:06 +01:00
Brian Clozel
7f58db7d0e Apply TLS configuration to reactive web servers
This commit applies the SSL configuration to the following reactive web
servers: Jetty, Tomcat, Undertow, Reactor Netty.

Closes gh-9431
2017-11-03 13:56:06 +01:00
Brian Clozel
5f57578b71 Enable APR optional support in Tomcat servers
This commits adds the AprLifecycleListener as a default
LifecycleListener in order to detect and use automatically the
tomcatnative library if it is available, for SSL support.

This feature can be useful for both performance reasons or for
supporting ALPN when using JDK8.

See gh-10043
Closes gh-9964
2017-11-03 13:56:06 +01:00
Andy Wilkinson
5cf50b6ccc Remove dependency management for spring-boot-starter-mobile
See gh-10884
2017-11-03 11:48:46 +00:00
Phillip Webb
3f00ba3cad Polish 2017-11-03 00:13:02 -07:00
Jay Bryant
9fc9c55c90 Format production-ready-features.adoc to 90 chars
Remove extraneous white space and adjusted the length of non-code lines
to be as close to 90 characters (but not over 90 characters) as
possible.

Update a couple things I missed in the editing pass, too.

Closes gh-10897
2017-11-02 23:22:19 -07:00
Jay Bryant
92e0eb0230 Format spring-boot-features.adoc to 90 chars
Remove extraneous white space and adjusted the length of non-code lines
to be as close to 90 characters (but not over 90 characters) as
possible.

Update a couple things I missed in the editing pass, too.

Closes gh-10896
2017-11-02 23:22:18 -07:00
Jay Bryant
f8bcdc9082 Format using-spring-boot.adoc to 90 chars
Remove extraneous white space and adjusted the length of non-code lines
to be as close to 90 characters (but not over 90 characters) as
possible.

Update a couple things I missed in the editing pass, too.

Closes gh-10893
2017-11-02 23:22:18 -07:00
Jay Bryant
ccfff94bbd Format getting-started.adoc to 90 chars
Remove extraneous white space and adjusted the length of non-code lines
to be as close to 90 characters (but not over 90 characters) as
possible.

Update a couple things I missed in the editing pass, too.

Closes gh-10892
2017-11-02 23:22:18 -07:00
Johnny Lim
84d137d41d Restore execution permission on launch.script
Restore the execute permission that was accidentally removed in
commit 5ee28a08e137.

Closes gh-10801
2017-11-02 23:22:17 -07:00
Nguyen Duy Tiep
fae7a09b83 Support custom SpringBootContextLoader environment
Provide a `getEnvironment` method in `SpringBootContextLoader` to allow
specialized `ConfigurableEnvironment` implementations to be used.

Closes gh-10740
2017-11-02 23:22:16 -07:00
Henrik
7728f8fde6 Introduce configurable logging.pattern.dateformat
Add configurable logger dateformat support for Logback and Log4j2.

Closes gh-8516
2017-11-02 23:22:15 -07:00
Madhura Bhave
d50fe8874f Add CF support for reactive actuators
Closes gh-10780
2017-11-02 18:00:55 -07:00
Phillip Webb
f0327fbd0d Polish SizeAndTimeBasedRollingPolicy changes
Closes gh-6352
2017-11-02 15:21:14 -07:00
Vedran Pavic
991468b0ef Use SizeAndTimeBasedRollingPolicy file appender
Update the logback file appender to use `SizeAndTimeBasedRollingPolicy`
rather than `FixedWindowRollingPolicy`.

Add two new properties to improve log file configuration capabilities:

 - `logging.file.max-history` to limit the number of archive log files
    to keep.
 - `logging.file.max-size` to limit the log file size.

See gh-6352
2017-11-02 15:18:16 -07:00
Phillip Webb
f440fc6d25 Formatting 2017-11-02 15:04:39 -07:00
Andy Wilkinson
d148dff713 Upgrade to Spring Integration 5.0.0.RC1
Closes gh-7029
2017-11-02 20:30:02 +00:00
Andy Wilkinson
76df3fc496 Use explicit classpath: prefix for Flyway location
Flyway implicitly adds classpath: to locations without a prefix but
resource loader fails to find migratons on the classpath without the
prefix.

Add an explicit classpath: prefix so that both Flyway and the resource
loader used to check the locations can find the migration location.

See gh-10807
2017-11-02 18:54:04 +00:00
Jay Bryant
8f2653d4c7 Wrap documentation-overview.adoc at 90 characters and use title case
Closes gh-10889
2017-11-02 17:34:15 +00:00
Jay Bryant
a1a30c6c13 Make editorial changes to howto.adoc
Closes gh-10854
2017-11-02 17:28:09 +00:00
Eddú Meléndez
dcc6d8d6ff Align default of flyway.check-location with equivalent Liquibase prop
Closes gh-10807
2017-11-02 17:19:48 +00:00
Andy Wilkinson
8eae372433 Change handling of spring.config.location so it replaces defaults
Previously, spring.config.name was handled in such a way that its
value would replace the defaults. By constrast, spring.config.location
would add to the defaults.

Update the handling of spring.config.location so that it replaces the
defaults. This aligns its behaviour with spring.config.name. To allow
users to add additional locations a new property,
spring.config.additional-location, has been introduced. It behaves as
spring.config.location did prior to this change.

Closes gh-10595
2017-11-02 17:12:22 +00:00
Stephane Nicoll
9b8fefb0f4 Move micrometer export related keys under a common prefix #10858
Closes gh-10858
2017-11-02 16:55:34 +01:00