Commit Graph

25422 Commits

Author SHA1 Message Date
Brian Clozel
68db43cf44 Support error conventions in Spring WebFlux
This commit adds support for Spring Boot error conventions with WebFlux.
The Spring MVC support for that is based on an `Controller` that's
mapped on a specific `"/error"` path and configured as an error page in
the Servlet container. With WebFlux, this support leverages a
`WebExceptionHandler`, which catches exceptions flowing through the
reactive pipeline and handles them.

The `DefaultErrorWebExceptionHandler` supports the following:
* return a JSON error response to machine clients
* return error HTML views (templates, static or default HTML view)

One can customize the error information by contributing an
`ErrorAttributes` bean to the application context.

Spring Boot provides an `ErrorWebExceptionHandler` marker interface and a
base implementation that provides high level constructs to handle
errors, based on the Spring WebFlux functional flavor.
The error handling logic can be completely changed by providing a custom
`RouterFunction` there.

Fixes gh-8625
2017-10-16 21:55:05 +02:00
Andy Wilkinson
f8602817af Merge branch '1.5.x' 2017-10-13 16:30:17 +01:00
Andy Wilkinson
63b7591031 Add another dependency required for javadoc generation with Java 9
See gh-10515
2017-10-13 15:11:17 +01:00
Andy Wilkinson
c3d10a811e Add dependencies required for javadoc generation with Java 9
See gh-10515
2017-10-13 14:36:41 +01:00
Andy Wilkinson
44acef2ae2 Merge branch '1.5.x' 2017-10-13 12:43:00 +01:00
Andy Wilkinson
be09f1c256 Merge branch '1.5.x' 2017-10-13 12:27:51 +01:00
Brian Clozel
81d1b3c6ee Build against Spring Framework 5.0.1.BUILD-SNAPSHOT
See gh-10587
2017-10-12 15:52:11 +02:00
Andy Wilkinson
273defdb1f Merge branch '1.5.x' 2017-10-12 14:40:02 +01:00
Johnny Lim
a51765d0f4 Fix broken documentation links
Update links following recent project restructure.

Closes gh-10601
2017-10-11 13:30:35 -07:00
Phillip Webb
97afe8e938 Fix package tangle in properties source
Update `SpringConfigurationPropertySource` so that it no longer
references types in `org.springframework.boot.env`.

Closes gh-10592
2017-10-11 11:24:46 -07:00
Phillip Webb
f48550aa44 Fix package tangle in binder
Update the `BinderConversionService` so that it no longer references
classes from `org.springframework.boot.context.properties.bind`.

See gh-10592
2017-10-11 11:23:14 -07:00
Andy Wilkinson
1bd44d89d6 Test metrics endpoint using tag available on Java 9 as well as 8
See gh-10524
2017-10-11 16:50:23 +01:00
Andy Wilkinson
bcfb1d17b1 Merge branch '1.5.x' 2017-10-11 16:19:25 +01:00
Spencer Gibb
ce2058fa97 Change @ConditionalOnClass from Servlet to Flux
Update `ReactiveManagementContextAutoConfiguration` to check for a
`Flux` class rather than `Servlet`.

Closes gh-10590
2017-10-10 21:45:24 -07:00
Phillip Webb
f337323819 Allow recursive binding in Maps
Update `Binder` so that Maps containing references to themselves may
be bound. The existing stack-overflow protection (required when binding
a bean to a non enumerable source) now only applies to bean properties.

Fixes gh-9801
2017-10-10 21:41:53 -07:00
Madhura Bhave
3ec3b64d45 Guard against binding non-instantiable types
Update `JavaBeanBinder` so that null instances that are non-instantiable
are not bound.

Fixes gh-10131
2017-10-10 17:55:35 -07:00
Madhura Bhave
b7c37c2807 Expose webServer from ReactiveWebServerApplicationContext
Closes gh-9746
2017-10-10 14:51:11 -07:00
Phillip Webb
22a6ee03eb Polish MetricsEndpoint
See gh-10535
2017-10-10 13:58:10 -07:00
Jon Schneider
37975836f0 Support composite registries in MetricsEndpoint
Update `MetricsEndpoint` to deal with `CompositeMeterRegistry`
instances.

Closes gh-10535
2017-10-10 13:57:51 -07:00
Phillip Webb
b3555fa5c5 Fix checkstyle violation in properties file
See gh-10565
2017-10-10 13:48:33 -07:00
dreis2211
a76005e8d9 Remove concatenations with empty string
Closes gh-10512
2017-10-10 12:44:33 -07:00
Thiago Hirata
85e71f2373 Update OriginTrackedPropertiesLoader to ISO 8859-1
Align `OriginTrackedPropertiesLoader` with Java default property loading
by using ISO 8859-1 character encoding.

Closes gh-10565
2017-10-10 12:31:43 -07:00
Phillip Webb
8e030d4769 Upgrade to Spring Session 2.0.0.M5
Closes gh-10326
2017-10-10 12:19:25 -07:00
Phillip Webb
1c7177d24a Upgrade to Spring Security 5.0.0.M5
Closes gh-10327
2017-10-10 12:17:13 -07:00
Phillip Webb
748e0779b6 Update copyright year for changed files 2017-10-10 11:56:13 -07:00
Phillip Webb
d62d829c19 Polish 2017-10-10 11:55:47 -07:00
Phillip Webb
0118653878 Upgrade to Sqlite Jdbc 3.20.1
Closes gh-10585
2017-10-10 11:03:43 -07:00
Phillip Webb
80c85568fa Upgrade to Spring Ldap 2.3.2.RELEASE
Closes gh-10584
2017-10-10 11:03:42 -07:00
Phillip Webb
6f159d2ee7 Upgrade to Javassist 3.22.0-CR2
Closes gh-10583
2017-10-10 11:03:41 -07:00
Phillip Webb
d1ea57f496 Upgrade to Johnzon Jsonb 1.1.4
Closes gh-10582
2017-10-10 11:03:41 -07:00
Phillip Webb
34f290afbb Upgrade to Httpcore 4.4.8
Closes gh-10581
2017-10-10 11:03:40 -07:00
Phillip Webb
702e831fcd Upgrade to Activemq 5.15.1
Closes gh-10580
2017-10-10 11:03:39 -07:00
Phillip Webb
96287173f9 Upgrade to Byte Buddy 1.7.6
Closes gh-10579
2017-10-10 11:03:38 -07:00
Phillip Webb
7404221678 Upgrade to Jest 5.3.3
Closes gh-10578
2017-10-10 11:03:37 -07:00
Phillip Webb
e3d864670f Upgrade to Rest Assured 3.0.5
Closes gh-10577
2017-10-10 11:03:37 -07:00
Phillip Webb
0be541e0fb Upgrade to Rxjava2 2.1.5
Closes gh-10576
2017-10-10 11:03:36 -07:00
Phillip Webb
e985998256 Upgrade to Unboundid Ldapsdk 4.0.1
Closes gh-10575
2017-10-10 11:03:35 -07:00
Phillip Webb
e16807e2f6 Upgrade to Mssql Jdbc 6.2.2.jre8
Closes gh-10574
2017-10-10 11:03:35 -07:00
Phillip Webb
02ba788c3f Upgrade to Couchbase Client 2.5.1
Closes gh-10573
2017-10-10 11:03:34 -07:00
Madhura Bhave
a06ec4a877 Mongo Uri overrides host and port
Fixes gh-4017
2017-10-10 09:23:49 -07:00
Phillip Webb
0cc33d5c7c Revert class name change
This reverts commit de7b624643.
2017-10-08 17:09:12 -07:00
Phillip Webb
0be119eadd Don't deploy spring-boot-test-support
Fixes gh-10518
2017-10-08 16:57:58 -07:00
Phillip Webb
ae7e9a2cdf Polish 2017-10-08 16:39:38 -07:00
Phillip Webb
de7b624643 Polish 2017-10-08 16:16:06 -07:00
Phillip Webb
a9263998a1 Support custom WebTestClient timeouts
Update @AutoConfigureWebTestClient to support a custom `timeout`
option.

See gh-10555
2017-10-08 16:16:06 -07:00
Phillip Webb
8be7d3cab4 Polish 2017-10-08 08:08:07 -07:00
Stephane Nicoll
a662b779b3 Fix build failure
Spring Session JDBC no longer providers a JdbcTemplate so our tests
need to make sure to include our own auto-configuration for it.
2017-10-07 09:45:12 +02:00
Stephane Nicoll
fc829951f7 Upgrade to Micrometer 1.0.0-rc.2
Closes gh-10541
2017-10-07 08:57:00 +02:00
Madhura Bhave
0402223fd0 Replace CommonOAuth2Provider
Closes gh-10543
2017-10-06 11:58:24 -07:00
Madhura Bhave
3ced8412b5 Replace AuthorizationGrantType & ClientAuthenticationMethod
Closes gh-10506
2017-10-06 09:34:13 -07:00
Daniel Fernández
e69a93bf47 Minor documentation improvements at ThymeleafProperties 2017-10-06 09:12:28 +02:00
Daniel Fernández
6a52a1a6a0 Added configuration test for spring.thymeleaf.reactive.max-chunk-size 2017-10-06 09:12:28 +02:00
Daniel Fernández
7de6472477 Added configuration parameters at ThymeleafProperties for "fullModeViewNames" and "chunkedModeViewNames" 2017-10-06 09:12:28 +02:00
Phillip Webb
facf16ceb8 Re-order modules so that spring--boot-cli is later
Update the module order so that the CLI is built after starters.

See gh-9316
2017-10-05 18:17:25 -07:00
Phillip Webb
3c97401a86 Polish 2017-10-05 17:58:18 -07:00
Phillip Webb
526fc1f351 Fix imports following upstream change 2017-10-05 17:57:31 -07:00
Jon Schneider
bc05352290 Improve new metrics endpoint
- New repeatable tag query parameter to refine a query by one or more
  tag key/value pairs.
- Selecting a metric by name (and optionally a set of tags) reports
  statistics that are the sum of the statistics on all time series
  containing the name (and tags).

Closes gh-10524
2017-10-05 16:49:30 +01:00
Jon Schneider
e2453a17c7 Add auto-configuration for exporting metrics to StatsD
Closes gh-10522
2017-10-05 16:49:19 +01:00
Jon Schneider
ff636b58e1 Make the Graphite export protocol configurable
Closes gh-10523
2017-10-05 16:48:54 +01:00
Andy Wilkinson
7fc272df6e Start building against Micrometer snapshots for 1.0.0-rc.2 2017-10-05 16:48:31 +01:00
Andy Wilkinson
6323dc4e21 Reduce logging that is produced when building Gradle plugin
Travis is terminating builds as they are producing too much logging.
A major contributor to the volume of logging is the Gradle plugin's
build. This commit switches off debug logging for the build and
enables test event logging. This considerably reduces the volume of
logging that is produced while still providing some insight into the
build's tests.
2017-10-05 13:39:49 +01:00
Andy Wilkinson
508aac084e Rename all Micrometer Clock beans: clock -> micrometerClock
Closes gh-10436
2017-10-05 11:01:20 +01:00
Andy Wilkinson
2bb54f16fb Polish 2017-10-05 10:54:26 +01:00
Andy Wilkinson
41fc023a67 Remove unnecessary override of helper plugin's version 2017-10-05 10:52:52 +01:00
Stephane Nicoll
ba52ebf155 Upgrade to Spring AMQP 2.0.0.RELEASE
Closes gh-7053
2017-10-05 10:43:21 +02:00
Phillip Webb
da0c4f5520 Increase endpoint integration test timeouts
Allow longer for test responses to be returned.

See gh-9316
2017-10-04 20:18:53 -07:00
Phillip Webb
4df84c53bc Upgrade Maven plugins
Upgrade the Maven plugins used in the builds.

See gh-9316
2017-10-04 16:34:43 -07:00
Phillip Webb
3476f7b8a4 Add debug logging switches to Gradle launch
Update launched Gradle options to include debug logging.

See gh-9316
2017-10-04 16:34:39 -07:00
Phillip Webb
d588bf7506 Fix odd Java parsing issues
Update `LoggingMainClassTimeWarningListener` to import individual
`Layout` inner classes. This fixes an odd javac parse issue that
otherwise occurs.

See gh-9316
2017-10-04 16:34:39 -07:00
Phillip Webb
c6f930b49e Fix Gradle to use flattened POM file
Update the Gradle plugin to use version information from the
flattened POM.xml files.

See gh-9316
2017-10-04 16:34:39 -07:00
Phillip Webb
b87f9c11f1 Fix POMs for the updated build/release process
Fix POMs following project relocations and apply CI friendly Maven
conventions.

See gh-9316
2017-10-04 16:34:38 -07:00
Phillip Webb
0ba4830b4f Relocate projects to spring-boot-project
Move projects to better reflect the way that Spring Boot is released.

The following projects are under `spring-boot-project`:

  - `spring-boot`
  - `spring-boot-autoconfigure`
  - `spring-boot-tools`
  - `spring-boot-starters`
  - `spring-boot-actuator`
  - `spring-boot-actuator-autoconfigure`
  - `spring-boot-test`
  - `spring-boot-test-autoconfigure`
  - `spring-boot-devtools`
  - `spring-boot-cli`
  - `spring-boot-docs`

See gh-9316
2017-10-04 16:34:23 -07:00