Commit Graph

3930 Commits (2f244057e22933a6feb381fbd9a2bddfbd553564)

Author SHA1 Message Date
Phillip Webb a12a6f2ade Polish 6 years ago
Phillip Webb 8ecb659a35 Deprecate SecurityPrerequisite
Deprecate `SecurityPrerequisite` interface since we don't support it
in Spring Boot 2.

Closes gh-14846
6 years ago
Phillip Webb 6b37d87497 Allow multiple endpoint PathMapper beans
Update `WebEndpointDiscoverer` and related classes to that multiple
`PathMapper` beans can be registered. Mappers are now tried in order
until one returns a non-null value.

Closes gh-14841
6 years ago
Phillip Webb a5dc004e0b Merge branch '2.0.x' 6 years ago
Phillip Webb cd1c2638e5 Polish 6 years ago
Andy Wilkinson 6765afa19b Upgrade to Spring Security 5.1.1.RELEASE
Closes gh-14730
6 years ago
Andy Wilkinson 9d5d81d36a Upgrade to Micrometer 1.1.0-rc1
Closes gh-14809
6 years ago
Phillip Webb f0f999a27d Merge branch '2.0.x' 6 years ago
Phillip Webb 5d219bcd19 Polish 6 years ago
Stephane Nicoll 31b0fc2368 Upgrade to Spring Integration 5.1.0.RC2
Closes gh-14731
6 years ago
Phillip Webb 765b54830b Merge branch '2.0.x' 6 years ago
Phillip Webb 734e9e4b74 Merge branch '2.0.x' 6 years ago
Stephane Nicoll 45121f225e Fix default property value 6 years ago
Phillip Webb 192340c5ee Upgrade to Spring AMQP 2.0.8.RELEASE
Closes gh-14833
6 years ago
Phillip Webb b25e222136 Retain original case when mapping endpoint paths
Update `MappingWebEndpointPathMapper` to keep the original case rather
than using a lower-case version.

Closes gh-14773
6 years ago
Stephane Nicoll e901a0bd0e Merge branch '2.0.x' 6 years ago
Stephane Nicoll 935d621a42 Fix mapping of Wavefront base properties
Closes gh-14839
6 years ago
Stephane Nicoll 94b2092218 Add base test for StepRegistryPropertiesConfigAdapter 6 years ago
Stephane Nicoll 7c6d61ee10 Update documentation to mention execution id of repackage goal
This commit updates the documentation to reference the default execution
id of the `repackage` goal when a project uses
`spring-boot-starter-parent`.

Closes gh-14835
6 years ago
Brian Clozel 2c3e8de959 Include "trace" info in whitelabel error views
This commit shows the stacktrace information in default WhiteLabel error
views for Spring MVC and Spring WebFlux.

This information is only shown if it is present in the model map, which
depends on the `server.error.include-stacktrace` configuration property.

Closes gh-12838
6 years ago
Andy Wilkinson a70aafd35a Upgrade to Reactor Bismuth-SR12
Closes gh-14838
6 years ago
Andy Wilkinson a9524d32ac Upgrade to Spring Integration 5.0.9.RELEASE
Closes gh-14834
6 years ago
Phillip Webb 3665917d44 Merge branch '2.0.x' 6 years ago
Phillip Webb c306e03112 Support '-' in endpoint names
Update the `EndpointId` constraints to allow '-' in names.

Closes gh-14773
6 years ago
Andy Wilkinson 1e2d5a1382 Auto-configure Micrometer's HumioMeterRegistry
Closes gh-14804
6 years ago
Phillip Webb 9a80e88a73 Merge branch '2.0.x' 6 years ago
Phillip Webb d8b9685635 Support '.' in endpoint names
Update the `EndpointId` constraints to allow '.' in names.

Closes gh-14773
6 years ago
Stephane Nicoll edf4045c3b Add missing tests for Kairos config adapter
Closes gh-14821
6 years ago
Stephane Nicoll ffe5e88d8e Merge branch '2.0.x' 6 years ago
Stephane Nicoll 99a45bdef8 Fix datasource prefix in multiple-datasource configuration doc
Closes gh-13195
6 years ago
Andy Wilkinson e53e8bf79f Merge branch '2.0.x' 6 years ago
Andy Wilkinson 0fedf8d2af Keep Liquibase-specific DataSource open for use by LiquibaseEndpoint
Closes gh-13832
6 years ago
Stephane Nicoll d4ec45e192 Fix javadoc generation 6 years ago
Andy Wilkinson a4eb636913 Merge branch '2.0.x' 6 years ago
Andy Wilkinson 6d98851fb5 Use Couchbase's DiagnosticsReport to determine its health
Previously, Couchbase's health was determined by retrieving the bucket info
from the cluster info. This retrieval could take over one minute in some
cases even when Couchbase is health. This latency is too large for a health
check.

The Couchbase team have recommended the of a Cluster#diagnostics instead.
This provides a much lower latency view of the cluster's health. This
commit updates CouchbaseHealthIndicator to use Cluster#diagnostics while
retaining support, in a deprecated form, for the old info-based mechanism
should anyone want to opt back into that in 2.0.x.

Closes gh-14685
6 years ago
Stephane Nicoll b7b9bf209e Upgrade to Spring Data Kay SR11
Closes gh-14728
6 years ago
Stephane Nicoll 89349c6eb9 Auto-configure KairosDB metrics
Closes gh-14821
6 years ago
Andy Wilkinson 267eff15f1 Merge branch '2.0.x' 6 years ago
Andy Wilkinson ab7c1af3ec Auto-configure SpringSecurityDialect for v5 and deprecate v4
Closes gh-14828
6 years ago
Andy Wilkinson a25e4a860c Upgrade to Thymeleaf Extras Spring Security 3.0.3.RELEASE
Closes gh-14829
6 years ago
Andy Wilkinson eaf38e9355 Upgrade to Spring Data Lovelace-SR1
Closes gh-14729
6 years ago
Stephane Nicoll 0fdf96da3b Upgrade to Spring Framework 5.0.10.RELEASE
Closes gh-14722
6 years ago
Brian Clozel d5236b91ce Polish 6 years ago
artsiom 9e5f171510 Support cachecontrol config property in WebFlux
Closes gh-14724
6 years ago
Stephane Nicoll 66af20f940 Upgrade to Spring Framework 5.0.10.RELEASE
Closes gh-14722
6 years ago
Stephane Nicoll 1103e93b2d Merge branch '2.0.x' 6 years ago
Stephane Nicoll eeb7cab661 Upgrade to Neo4j Ogm 3.1.4
Closes gh-14826
6 years ago
Stephane Nicoll f86ed38abf Upgrade to Groovy 2.5.3
Closes gh-14825
6 years ago
Stephane Nicoll 1a0d53dec0 Replace ReflectionTestUtils usage by hasFieldOrPropertyWithValue
Closes gh-14696
6 years ago
Phillip Webb cfa130b2ef Merge branch '2.0.x' 6 years ago
Hanope 535dd7470f Fix typo in EndpointIdTests
Closes gh-14822
6 years ago
Phillip Webb 3eb877425e Upgrade to Micrometer 1.0.7
Closes gh-14808
6 years ago
Phillip Webb 18319ac276 Remove deprecated Endpoint ID methods
See gh-14773
6 years ago
Phillip Webb 1bf97e9b5e Merge branch '2.0.x' 6 years ago
Phillip Webb a00ee15e16 Use lowercase default endpoint paths
Update `MappingWebEndpointPathMapper` to use the lowercase version of
the endpoint ID when no explicit path mapping has been set. An endpoint
with the ID 'myEndpoint' will now be mapped to the path 'myendpoint'.

See gh-14773
6 years ago
Phillip Webb df5dfbf4be Support mixed case endpoint includes/excludes
Update `ExposeExcludePropertyEndpointFilter` so that mixed case
endpoint IDs are supported. Prior to this commit it was not easy for
an endpoint to be missed by the filter due to the formatting of the
property value.

See gh-14773
6 years ago
Phillip Webb 674a909bab Support mixed case endpoint IDs with enabled
Update `OnEnabledEndpointCondition` so that mixed case endpoint IDs
are supported. Prior to this commit an
`InvalidConfigurationPropertyNameException` would be thrown when trying
to enabled or disable an endpoint with a camel case ID.

See gh-14773
6 years ago
Phillip Webb 138d85477d Support mixed case endpoint IDs with time-to-live
Update the endpoint time-to-live binding logic so that mixed case
endpoint IDs are supported. Prior to this commit an
`InvalidConfigurationPropertyNameException` would be thrown when using
a camel case endpoint ID.

See gh-14773
6 years ago
Phillip Webb 3105a38884 Introduce EndpointID to enforce naming rules
Add an `EndpointID` class to enforce the naming rules that we support
for actuator endpoints. We now ensure that all endpoint names contain
only letters and numbers and must begin with a lower-case letter.

Existing public classes and interfaces have been changes so that String
based `endpointId` methods are deprecated and strongly typed versions
are preferred instead. A few public classes that we're not expecting
to be used directly have been changed without deprecated methods being
introduced.

See gh-14773
6 years ago
Phillip Webb 88ac7f1d65 Polish 6 years ago
Phillip Webb c5786c218d Polish 6 years ago
Andy Wilkinson e151dbf003 Document Jersey metrics' new outcome tag and polish formatting
See gh-12482
6 years ago
Johnny Lim c1ad1f7638 Fix copyright end years
Closes gh-14816
6 years ago
Andy Wilkinson 83692a22da Polish "Use non-reflective APIs to retrieve config prop binding converters"
Closes gh-14657
6 years ago
Dave Syer 2094e54ef2 Use non-reflective APIs to retrieve config prop binding converters
See gh-14657
6 years ago
Stephane Nicoll f96d73f3cc Start building against Micrometer 1.0.7 snapshots
See gh-14808
6 years ago
Andy Wilkinson 6e5310900b Switch from thymeleaf-extras-springsecurity4 to extras-springsecurity5
Closes gh-14806
6 years ago
Andy Wilkinson 1ac48ee876 Merge branch '2.0.x' 6 years ago
Andy Wilkinson b78c7aca3e Allow ALPNServerConnectionFactory to negotiate use of HTTP/1.1
Closes gh-14444
6 years ago
Andy Wilkinson 7ad94299d6 Stop relying on server customizer ordering for Tomcat metrics binding
Closes gh-14784
6 years ago
Andy Wilkinson 2b11ee4389 Auto-configure binding of Micrometer's JettyServerThreadPoolMetrics
Closes gh-14591
6 years ago
Stephane Nicoll 6199af6c0f Polish 6 years ago
Madhura Bhave 6df9555d6a Update micrometer tests following upstream changes 6 years ago
Madhura Bhave ec6e9d205a Merge branch '2.0.x' 6 years ago
Madhura Bhave a86ba6495c Polish 6 years ago
Madhura Bhave 8f91bbeffa Polish 6 years ago
Madhura Bhave 24a8461749 Merge branch '2.0.x' 6 years ago
Madhura Bhave d2ceb8f7da Polish 6 years ago
Stephane Nicoll 8f1729e322 Merge branch '2.0.x' 6 years ago
Stephane Nicoll 798b37805d Polish "Add support for @ResponseStatus in DefaultErrorAttributes"
Closes gh-14744
6 years ago
Michele Mancioppi 17919749db Add support for @ResponseStatus in DefaultErrorAttributes
This commit adds support for @ResponseStatus in DefaultErrorAttributes
mimicking the semantics of @ResponseStatus in SpringMVC.

Throwables annotated with @ResponseStatus handled by
DefaultErrorAttributes will result in the following error attributes:
* 'status' set as the return value of the HttpStatus#value()
  defined as @ResponseStatus#value()
* 'error' set to the default reason phrase of the HttpStatus
  defined as @ResponseStatus#value()
* 'message' defined as the value of @ResponseStatus#reason(),
  or the default HttpStatus's reason phrase if left unspecified

See gh-14744
6 years ago
Stephane Nicoll baf83aec0d Polish "Allow ClassPathResources to be filtered by FilteredClassLoader"
Closes gh-14774
6 years ago
Roy Jacobs d3ca1a7b0e Allow ClassPathResources to be filtered by FilteredClassLoader
See gh-14774
6 years ago
Stephane Nicoll 29c0aa4445 Merge branch '2.0.x' 6 years ago
Stephane Nicoll c0a5e985c2 Upgrade to Thymeleaf 3.0.10.RELEASE
Closes gh-14797
6 years ago
Stephane Nicoll 0ff1b25f52 Polish "Improve Micrometer histogram properties support"
Closes gh-14139
6 years ago
Alexander Abramov c1c79ab1c2 Improve Micrometer histogram properties support
This commit adds configuration properties for Micrometer histogram
settings: "minimumExpectedValue" and "maximumExpectedValue".

See gh-14139
6 years ago
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
6 years ago
Andy Wilkinson 19232ad87a Merge branch '2.0.x' 6 years ago
Andy Wilkinson 861587ec78 Allow @ConditionalOnEnabledEndpoint to be used on any component
Closes gh-14787
6 years ago
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
6 years ago
Stephane Nicoll 11efe92ce7 Polish "Configure Cassandra JMX Reporting"
Closes gh-14778
6 years ago
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
6 years ago
Phillip Webb d6df7cf324 Update copyright year for changed files 6 years ago
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
6 years ago
Phillip Webb 4823114e1c Polish 6 years ago
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
6 years ago
Phillip Webb 74d48fb7a7 Merge branch '2.0.x' 6 years ago
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
6 years ago
Phillip Webb b09057a73c Fix checkstyle violation
Fix unused import violation introduced during merge.
6 years ago
Phillip Webb 01f7805c19 Merge branch '2.0.x' 6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
Phillip Webb 30ab4f9691 Polish "Stop MetricsEndpoint from summing up same metrics"
See gh-14497
6 years ago
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
6 years ago
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
6 years ago
Stephane Nicoll 237ea1d6ee Upgrade to Reactor Californium-SR1
Closes gh-14788
6 years ago
Andy Wilkinson 5e3b5ae14f Polish
See gh-14780 and gh-14467
6 years ago
Andy Wilkinson 5f0d7dd6c7 Merge branch '2.0.x' 6 years ago
Andy Wilkinson 2a2908e74e Order MeterFilters and MeterRegistryCustomizers
Closes gh-14780
6 years ago
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
6 years ago
artsiom 8f3b58fa98 Replace ReflectionTestUtils usage by hasFieldOrPropertyWithValue
Closes gh-14783
6 years ago
Stephane Nicoll d37df3d718 Add support for customizing Flyway's configuration
Closes gh-14786
6 years ago
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
6 years ago
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
6 years ago
Andy Wilkinson 459d2943e7 Polish 6 years ago
Andy Wilkinson 85a4fb389d Merge branch '2.0.x' 6 years ago
Andy Wilkinson a296a805c5 Tolerate different quoting of annotation attributes on Java 8 and 9+
Closes gh-13594
6 years ago
Stephane Nicoll 3f4fbe32ff Merge branch '2.0.x' 6 years ago
Stephane Nicoll 81377e2fd5 Invoke Flyway#setCallbacks only if necessary
Closes gh-14775
6 years ago
Andy Wilkinson 9d09a385ba Merge branch '2.0.x' 6 years ago
Andy Wilkinson 6b22cc1581 Revert "Upgrade to Netty 4.1.30.Final"
This reverts commit c9cf78bb69.

See gh-14752
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
Phillip Webb 8da295998b Polish 6 years ago
Phillip Webb 60719bd982 Upgrade to Dropwizard Metrics 4.0.3
Closes gh-14428
6 years ago
Phillip Webb 94798062ab Configure Cassandra JMX Reporting
Allow Cassandra JMX reporting to be configured via a property, and
disable it by default since it won't work with Dropwizard metrics 4.

Also update some of our own tests to explicitly disable it.

Closes gh-14778
6 years ago
Stephane Nicoll 1a140a80d8 Improve logger-name value hint definition
This commit improve the logger-name value hint by adding a group
attribute that can be defined to specify whether logging groups should
be considered.

Closes gh-14748
6 years ago
Andy Wilkinson 923b48bae0 Exclude duplicate javax.activation classes from web services starter
In 2.3.1, the JAX-B API now depends on javax.activation-api. This has
caused duplicate Activation classes to appear in the starter due to
dependencies on both javax.activation:activation:1.1 and on
javax.activation:javax.activation-api:1.2. This commit removes the
duplicate classes by excluding the former in favour of the latter.

See gh-14754
6 years ago
Andy Wilkinson 526a66f0ad Upgrade to Sqlite Jdbc 3.25.2
Closes gh-14769
6 years ago
Andy Wilkinson 7d3493ba47 Upgrade to Selenium Htmlunit 2.33.0
Closes gh-14768
6 years ago
Andy Wilkinson 8660bd1500 Upgrade to Mockito 2.23.0
Closes gh-14767
6 years ago
Andy Wilkinson 6d0bae5fb0 Upgrade to Kotlin 1.2.71
Closes gh-14766
6 years ago
Andy Wilkinson 7e494b5616 Upgrade to Infinispan 9.4.0.Final
Closes gh-14765
6 years ago
Andy Wilkinson 2fe9ed85cc Upgrade to Glassfish Jaxb 2.3.1
Closes gh-14764
6 years ago
Andy Wilkinson 8425b52b42 Upgrade to Flyway 5.2.0
Closes gh-14763
6 years ago
Andy Wilkinson c36655961f Upgrade to Elasticsearch 6.4.2
Closes gh-14762
6 years ago
Andy Wilkinson cdf0b556f0 Upgrade to Ehcache3 3.6.1
Closes gh-14761
6 years ago
Andy Wilkinson 36bedff9f4 Upgrade to Commons Lang3 3.8.1
Closes gh-14760
6 years ago
Andy Wilkinson 7e449de2e4 Upgrade to Byte Buddy 1.9.1
Closes gh-14759
6 years ago
Andy Wilkinson d422f4d295 Upgrade to Javax Jaxws 2.3.1
Closes gh-14758
6 years ago
Andy Wilkinson ccb9a93754 Upgrade to Netty Tcnative 2.0.17.Final
Closes gh-14757
6 years ago
Andy Wilkinson 6be81a9a31 Upgrade to Saaj Impl 1.5.0
Closes gh-14756
6 years ago
Stephane Nicoll 73ad17d2cb Use standard SpringBeanJobFactory to create Quartz Job instances
A recent update to SpringBeanJobFactory provides the same features as
our AutowireCapableBeanJobFactory override so this commit removes it in
favour of the standard factory.

Closes gh-14772
6 years ago
Stephane Nicoll c5122fb365 Merge branch '2.0.x' 6 years ago
Hanope 29b453d8b0 Fix typo
Closes gh-14770
6 years ago
Andy Wilkinson 4ede33e09b Merge branch '2.0.x' 6 years ago
Andy Wilkinson c897ff959f Upgrade to Ehcache3 3.5.3
Closes gh-14755
6 years ago