318 Commits

Author SHA1 Message Date
Andy Wilkinson
e9c81bf702 Polish 2017-11-09 17:07:15 +00:00
Andy Wilkinson
f02c390ee5 Simplify commons-logging exclusions and remove redundant dep mgmnt
c719ab7a adding dependency management for a number of Apache Commons
projects to exclude commons-logging and resolve problems with
dependency convergence.

As Boot's dependencies have evolved, much of this dependency
management has become redundant. This commit removes it, and excludes
commons-logging in the single starter that still needs it instead.

Closes gh-7050
2017-11-09 15:53:14 +00:00
Andy Wilkinson
544da5e612 Reinstate 2nd blank line after lists at end of .adoc files
Without the 2nd blank line, Asciidoctor does not render the content
in the next file correctly or omits it entirely.

Closes gh-10946
2017-11-09 15:34:47 +00:00
Andy Wilkinson
f4570710c1 Make Tomcat auto-config back off when UpgradeProtocol is absent
Closes gh-10960
2017-11-09 14:42:14 +00:00
dreis2211
93b1ebb7fa Use Integer::compare in AutoConfigurationSorter
Closes gh-10959
2017-11-09 09:50:38 +01:00
Madhura Bhave
3be521e825 Add DefaultHandlerExceptionResolver to child context
Fixes gh-10560
2017-11-08 17:52:24 -08:00
Madhura Bhave
7c3e555ff9 Update Security features documentation
Closes gh-10844
2017-11-08 13:27:28 -08:00
Stephane Nicoll
8230cc5028 Upgrade to Thymeleaf 3.0.9.RELEASE
Closes gh-10954
2017-11-08 16:10:17 +01:00
Madhura Bhave
8db77a6a61 Properly configure tldSkipPatterns for Tomcat
Fixes gh-10391
2017-11-07 14:54:32 -08:00
Stephane Nicoll
424793d806 Merge branch '1.5.x' 2017-11-07 08:46:29 +01:00
Phillip Webb
06b1b453a6 Limit when SystemEnvironment mapping is used
Update `SpringConfigurationPropertySource` so that the
`SystemEnvironmentPropertyMapper` is only used for the "actual" system
environment property source. This allows SystemEnvironmentProperySource
class to be used for other purposes (for example, Spring Cloud uses it
to as an override source providing decryption).

Only property sources named `systemEnvironment` or ending with
`-systemEnvironment` now have the `SystemEnvironmentPropertyMapper`
applied. The `TestPropertyValues` has been retrofitted to name the
source it adds appropriately.

Fixes gh-10840
2017-11-06 13:12:25 -08:00
Phillip Webb
e9f31f9c34 Improve configuration properties back-compatibility
Refine `SystemEnvironmentPropertyMapper` to support environment
variables that would have worked in Spring Boot 1.5. Specifically,
camelCase property bindings now support an additional underscore. The
recommended way to map `fooBar` is still `PREFIX_FOOBAR`, however,
`PREFIX_FOO_BAR` will now also work.

Fixes gh-10873
2017-11-06 11:21:16 -08:00
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