Commit Graph

18995 Commits

Author SHA1 Message Date
Roy Jacobs d3ca1a7b0e Allow ClassPathResources to be filtered by FilteredClassLoader
See gh-14774
2018-10-12 15:15:16 +02:00
Stephane Nicoll 29c0aa4445 Merge branch '2.0.x' 2018-10-12 14:31:34 +02:00
Stephane Nicoll c0a5e985c2 Upgrade to Thymeleaf 3.0.10.RELEASE
Closes gh-14797
2018-10-12 14:30:42 +02:00
Stephane Nicoll e37145a53c Merge pull request #14139 from alexanderabramov
* pr/14139:
  Polish "Improve Micrometer histogram properties support"
  Improve Micrometer histogram properties support
2018-10-12 14:23:40 +02:00
Stephane Nicoll 0ff1b25f52 Polish "Improve Micrometer histogram properties support"
Closes gh-14139
2018-10-12 14:23:21 +02:00
Alexander Abramov c1c79ab1c2 Improve Micrometer histogram properties support
This commit adds configuration properties for Micrometer histogram
settings: "minimumExpectedValue" and "maximumExpectedValue".

See gh-14139
2018-10-12 14:23:21 +02:00
Brian Clozel 5607fcae85 Record URI pattern tag for WebFlux Fn metrics
This commit records URI tags for Spring WebFlux Fn applications for
`http.server.requests` metrics. This is possible since SPR-17098.

Closes gh-12757
2018-10-12 13:57:32 +02:00
Andy Wilkinson 19232ad87a Merge branch '2.0.x' 2018-10-12 11:25:17 +01:00
Andy Wilkinson 861587ec78 Allow @ConditionalOnEnabledEndpoint to be used on any component
Closes gh-14787
2018-10-12 11:24:33 +01:00
Brian Clozel 2588a71ac4 Auto-Configure HTTP ResourceFactories on servers
This commit auto-configures HTTP resource factories on both Reactor
Netty and Jetty server instances. This creates `ReactorResourceFactory`
and `JettyResourceFactory` beans when necessary - those beans can be
reused and applied by the client auto-configuration in order to share
resources between client and server for optimal performance.

The server auto-configuration has the highest precedence, so from now
on, the auto-configured ResourceFactory bean on the client side will be
skipped if a reactive server is configured.

Closes gh-14495
2018-10-12 11:32:55 +02:00
Stephane Nicoll 11efe92ce7 Polish "Configure Cassandra JMX Reporting"
Closes gh-14778
2018-10-12 10:41:47 +02:00
Phillip Webb d102e0d7f7 Introduce Ordered Filter and WebFilter interfaces
Add `Ordered` variants of `javax.servlet.Filter` and
`org.springframework.web.server.WebFilter` mainly so that we can
deprecate `FilterRegistrationBean.REQUEST_WRAPPER_FILTER_MAX_ORDER`.

Closes gh-14793
2018-10-11 23:13:23 -07:00
Phillip Webb d6df7cf324 Update copyright year for changed files 2018-10-11 22:39:43 -07:00
Phillip Webb 683e9532d6 Handle servlet startup failures consistently
Ensure that all servlet containers handle servlet startup failures
consistently and throw a `WebServerException` that wraps the original
cause.

Both Undertow and Jetty already dealt with startup failures in this
way, but Tomcat did not. The `TomcatEmbeddedContext` has now been
changed to no longer call `super.loadOnStartup` but instead re-implement
a version of that method that wraps and rethrows the original exception
(as long as `failCtxIfServletStartFails` is `true`, which it now is by
default).

Closes gh-14790
2018-10-11 22:31:40 -07:00
Phillip Webb 4823114e1c Polish 2018-10-11 22:30:49 -07:00
Phillip Webb 3da25c6d36 Remove TomcatEmbeddedContext.overrideLoadOnStart
Remove the reflection tests used to support the older variant of
`overrideLoadOnStart` that returned a void. Since we no longer support
that older version we can simply the code.

Closes gh-14789
2018-10-11 20:22:58 -07:00
Phillip Webb 74d48fb7a7 Merge branch '2.0.x' 2018-10-11 20:20:15 -07:00
Phillip Webb 21ebb94d49 Respect Tomcat's failCtxIfServletStartFails flag
Ensure that if the user has set `failCtxIfServletStartFails` to `true`
using a `ContextCustomizers` any Servlet init exceptions stop the
application from running.

Closes gh-14448
2018-10-11 20:12:01 -07:00
Phillip Webb b09057a73c Fix checkstyle violation
Fix unused import violation introduced during merge.
2018-10-11 17:55:41 -07:00
Madhura Bhave 29a43851b5 Merge branch '2.0.x' 2018-10-11 16:34:26 -07:00
Madhura Bhave 042d495d92 Set gradle-plugin attribute on the Bintray package
Closes gh-14447
2018-10-11 16:30:33 -07:00
Phillip Webb 01f7805c19 Merge branch '2.0.x' 2018-10-11 16:19:29 -07:00
Phillip Webb b1399db994 Add a warning about `webDriver` scope to the docs
Update the reference documentation with a warning about the `webDriver`
scope that we create.

Closes gh-13093
2018-10-11 16:17:24 -07:00
Phillip Webb 0d35af1813 Add "Encrypting Properties" documentation
Update the reference documentation with a section about encrypting
properties and a link to Spring Cloud Vault.

Closes gh-13618
2018-10-11 16:03:42 -07:00
Phillip Webb 1c3987d55a Fix documentation of devtools Gradle scope
Update the reference documentation to suggest that devtools uses a
custom `developmentOnly` scope, rather than `compileOnly`.

Closes gh-14451
2018-10-11 15:42:56 -07:00
Phillip Webb 5f6698e50b Merge pull request #14497 from pulkitmehra
* pr/14497:
  Polish "Stop MetricsEndpoint from summing up same metrics"
  Stop MetricsEndpoint from summing up same metrics
2018-10-11 15:32:25 -07:00
Phillip Webb 30ab4f9691 Polish "Stop MetricsEndpoint from summing up same metrics"
See gh-14497
2018-10-11 15:31:40 -07:00
pmehra 950480dc1c Stop MetricsEndpoint from summing up same metrics
Update `MetricsEndpoint` so that only the first matching meter is used
when calculating the sum of of statistics.

Prior this this commit the endpoint would consider all Meters. This
caused incorrect statistics when multiple back-end systems were being
used since the registries contained in the `CompositeMeterRegistry`
would be  iterated, and the same effective metric would be counted more
than once.

Closes gh-14497
2018-10-11 15:18:35 -07:00
Madhura Bhave ff35d14170 Change order of loggingCodecCustomizer
It is set to 0 so that users' customizers can be positioned before and
after it.

Fixes gh-14723
2018-10-11 13:40:57 -07:00
Stephane Nicoll 237ea1d6ee Upgrade to Reactor Californium-SR1
Closes gh-14788
2018-10-11 20:33:12 +02:00
Andy Wilkinson 5e3b5ae14f Polish
See gh-14780 and gh-14467
2018-10-11 17:25:54 +01:00
Andy Wilkinson 5f0d7dd6c7 Merge branch '2.0.x' 2018-10-11 17:20:35 +01:00
Andy Wilkinson 2a2908e74e Order MeterFilters and MeterRegistryCustomizers
Closes gh-14780
2018-10-11 17:15:47 +01:00
Brian Clozel 43966c7f93 Configure WebFlux HiddenHttpMethodFilter with property
This commit adds a new configuration property
`"spring.webflux.hiddenmethod.filter.enable"` that enables/disables the
`HttpHiddenMethodFilter` in Spring WebFlux.

Closes gh-14520
2018-10-11 18:15:27 +02:00
Stephane Nicoll 7bfc620625 Merge pull request #14783 from ayudovin
* pr/14783:
  Replace ReflectionTestUtils usage by hasFieldOrPropertyWithValue
2018-10-11 17:55:42 +02:00
artsiom 8f3b58fa98 Replace ReflectionTestUtils usage by hasFieldOrPropertyWithValue
Closes gh-14783
2018-10-11 17:49:37 +02:00
Stephane Nicoll d37df3d718 Add support for customizing Flyway's configuration
Closes gh-14786
2018-10-11 17:45:20 +02:00
Stephane Nicoll e789bc0bb7 Use FluentConfiguration to configure Flyway
This commit stops binding the Flyway object directly to the environment
as mutating it will no longer be supported in Flyway 6.

This commit mirrors Flyway's configuration in FlywayProperties for the
most part.

Closes gh-14776
2018-10-11 17:45:15 +02:00
Andy Wilkinson 1d2f069580 Allow HttpTrace instances to be created
Previously, the API required to create HttpTrace instances was
package-private. This made it difficult to implement an
HttpTraceRepository that persists the HttpTrace instances
rather than holding them in memory as it inhibited recreation of the
instances when they read from the persistent store.

This commit adds public constructors to HttpTrace and related classes
to enable recreation of an HttpTrace. The package-private methods for
mutating properties have not been made public to ensure that the
public API remains immutable.

Closes gh-14726
2018-10-11 14:26:23 +01:00
Andy Wilkinson 459d2943e7 Polish 2018-10-11 12:29:49 +01:00
Andy Wilkinson 85a4fb389d Merge branch '2.0.x' 2018-10-11 11:51:56 +01:00
Andy Wilkinson a296a805c5 Tolerate different quoting of annotation attributes on Java 8 and 9+
Closes gh-13594
2018-10-11 11:51:34 +01:00
Stephane Nicoll 3f4fbe32ff Merge branch '2.0.x' 2018-10-11 11:56:13 +02:00
Stephane Nicoll 81377e2fd5 Invoke Flyway#setCallbacks only if necessary
Closes gh-14775
2018-10-11 11:50:53 +02:00
Andy Wilkinson 9d09a385ba Merge branch '2.0.x' 2018-10-11 10:40:55 +01:00
Andy Wilkinson 6b22cc1581 Revert "Upgrade to Netty 4.1.30.Final"
This reverts commit c9cf78bb69.

See gh-14752
2018-10-11 10:38:33 +01:00
Phillip Webb 85f86243c9 Order class filter checks and exit early
Update the logic in `OnClassCondition` so that filtering exits on the
first missing class. Also refactor the implementation to save
unnecessary `Set` creation when there is just a single class to check.

The `AutoConfigureAnnotationProcessor` has also been updated to order
classes so that any starting `org.springframework` are considered last.
The assumption being that other classes are more likely to be missing.

Closes gh-12131
2018-10-10 22:02:05 -07:00
Phillip Webb b1d4cf4ea8 Fix Neo4J Tests
Update Neo4J tests following SPR-17333 which has broken our previous
method of simulating Embedded Neo4J.

Closes gh-14779
2018-10-10 17:51:41 -07:00
Phillip Webb 33c2d24560 Support ConfigurationProperties BindHandler advise
Allow custom `BinderHandler` advise to be applied to the `Binder` used
for `@ConfigurationProperties`.  This mechanism has been added to allow
Spring Cloud Stream to manipulate `Bindable` instances before binding
occurs.

NOTE: This commit introduces a breaking change to the `BindHandler`
interface since the `onStart` method now returns a `Bindable` rather
than a `boolean`.

Closes gh-14745
2018-10-10 12:40:11 -07:00
Phillip Webb 8da295998b Polish 2018-10-10 12:20:03 -07:00