Commit Graph

328 Commits

Author SHA1 Message Date
Andy Wilkinson b311237906 Update docs to reflect change to default Filter dispatcher type
Closes gh-10888
See gh-7467
2017-11-12 10:49:44 +00:00
Andy Wilkinson 2723892be3 Consistently include context id in endpoint responses
Closes gh-10980
2017-11-11 20:48:18 +00:00
Andy Wilkinson 07462be090 Polish 2017-11-11 16:29:12 +00:00
Andy Wilkinson 89173bd227 Upgrade to Spring Kafka 2.1.0.RC1
Closes gh-10975
2017-11-11 16:21:35 +00:00
Stephane Nicoll dac7d9c174 Rename AutoConfigurationReportLoggingInitializer to ConditionEvaluationReportLoggingListener
Closes gh-2945
2017-11-10 16:20:13 +01:00
Stephane Nicoll 26158c1ee2 Add default order for JobLauncherCommandLineRunner
Closes gh-2943
2017-11-10 16:06:39 +01:00
Stephane Nicoll 4e88db9883 Scan converters with @WebMvcTest and @WebFluxTest
This commit makes sure to automatically scan `Converter` and
`GenericConverter` beans when a test uses `@WebMvcTest` or
`@WebFluxTest`.

Closes gh-10802
2017-11-10 15:58:27 +01:00
Stephane Nicoll 46ef178f04 Polish "Improve cache auto-configuration for Redis"
Closes gh-10944
2017-11-10 14:42:50 +01:00
Ryon a4ed406ee8 Improve cache auto-configuration for Redis
Expose key prefix, TTL and null value settings for spring-data-redis'
RedisCacheConfiguration in Spring .properties/yml configuration files.

Example:

spring.cache.redis.ttl=PT15M
spring.cache.redis.keyPrefix=foo
spring.cache.redis.useKeyPrefix=false
spring.cache.redis.cacheNullValues=false

See gh-10795
2017-11-10 11:30:46 +01:00
Johnny Lim bd0dcfb172 Utilize StandardCharsets
Closes gh-10972
2017-11-10 09:49:13 +01:00
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