Commit Graph

8949 Commits

Author SHA1 Message Date
Madhura Bhave 16ac968f69 Relocate section on configuring DevTools' file system watcher
Closes gh-20895
2020-04-21 17:09:40 -07:00
Scott Frederick fa186aa15b Preserve timestamps on loader directories
Prior to this commit, when the Maven plugin copied
spring-boot-loader.jar to a repackaged archive the timestamps of class
files were preserved but the timestamps of directories were not
preserved. This resulted in the directories having a current timestamp.

This commit copies the directory timestamps from spring-boot-loader.jar
to the repackaged archive and adds tests to verify the proper
behavior.

See gh-20927
2020-04-21 18:58:34 -05:00
Phillip Webb c85918b8b3 Create new JarFile instance for URL connections
Update `JarURLConnection` to ensure that when connections are opened
a new copy of the JarFile is provided.

Prior to this commit, a single `JarFile` instance was shared which meant
that it could be accidental closed if accessed via
`JarURLConnection.getJarFile()`. If the underlying jar file is closed
then it's possible for a `NoClassDefFoundError` to be thrown if running
on JDK 11 with an active `SecurityManager`.

Closes gh-17796
2020-04-21 16:32:51 -07:00
Phillip Webb e83c3b87c0 Merge branch '2.2.x'
Closes gh-21071
2020-04-21 11:45:05 -07:00
Phillip Webb 7d0b14fe1c Merge branch '2.1.x' into 2.2.x
Closes gh-21070
2020-04-21 11:43:09 -07:00
Phillip Webb 6011470ba6 Auto-configure cors on WelcomePageHandlerMapping
Update `WebMvcAutoConfiguration` to automatically apply cors
configuration to the `WelcomePageHandlerMapping`.

Fixes gh-21048
2020-04-21 11:40:26 -07:00
Andy Wilkinson 60a76ce6e7 Polish "Update validation of Micrometer configuration"
See gh-21067
2020-04-21 18:06:43 +01:00
Jon Schneider 95798265b6 Update validation of Micrometer configuration
See gh-21067
2020-04-21 18:06:36 +01:00
Stephane Nicoll e26f3e2a65 Review Cassandra's timeout options
This commit reviews the current timeout options. It creates a connection
and request sub-namespace to separate concerns a bit more.

Closes gh-19673
2020-04-21 17:29:38 +02:00
Stephane Nicoll 01aa5d9ebe Add dependency management for the Wavefront SDK
Closes gh-21065
2020-04-21 16:35:18 +02:00
Stephane Nicoll 692885f71e Merge branch '2.2.x'
Closes gh-21049
2020-04-21 16:00:41 +02:00
Stephane Nicoll 8cbd7f5cd0 Polish "Add support for initializing nested object when nothing bound"
This commit harmonizes the change made to @DefaultValue to the
annotation processor. If such annotation is added to a scalar value with
no value at all, no default value is produced.

Closes gh-18917
2020-04-21 15:59:34 +02:00
Brian Clozel f103966743 Polish
See gh-20994
2020-04-21 15:51:11 +02:00
Vedran Pavic f701d97b92 Improve Elasticsearch RestClient customization capabilities
At present, RestClientBuilderCustomizer allows general customization of RestClientBuilder.
This is troublesome for users that want to customize `HttpAsyncClientBuilder` and
`RequestConfig.Builder` since those are set on the `RestClientBuilder`. By customizing
those two builders user lose out on Spring Boot's support for binding username, password,
connection-timeout and read-timeout properties from `"spring.elasticsearch.rest"` namespace.

This commit enhances the `RestClientBuilderCustomizer` with support for customizing
`HttpAsyncClientBuilder` and `RequestConfig.Builder` by providing additional `customize`
methods that accept the aforementioned builders. Both new methods are optional as they have
no-op default implementations.

See gh-20994
2020-04-21 15:50:59 +02:00
Andy Wilkinson 8de0027757 Merge branch '2.2.x'
Closes gh-21062
2020-04-21 13:27:48 +01:00
Andy Wilkinson 3065c88d6f Fix typo in IncludeExcludeEndpointFilter's name
Closes gh-21061
2020-04-21 13:27:35 +01:00
Phillip Webb 03a9738f3b Merge branch '2.2.x'
Closes gh-21053
2020-04-20 17:57:57 -07:00
Phillip Webb 7d68c7c4c4 Merge branch '2.1.x' into 2.2.x
Closes gh-21052
2020-04-20 17:55:33 -07:00
Phillip Webb a2fdf23e41 Don't throw NettyWebServer on permission errors
Update `NettyWebServer` so that the `PortInUseException` is not thrown
for permission denied errors.

Fixes gh-19807
2020-04-20 17:54:13 -07:00
Phillip Webb c7611112f7 Include cause when throwing PortInUseException
Update classes that throw `PortInUseException` so that they also
include the cause. Prior to this commit the cause was not included
which could make diagnosing the real cause difficult.

See gh-19807
2020-04-20 17:54:10 -07:00
Madhura Bhave 5d56d652fb Merge branch '2.2.x'
Closes gh-21050
2020-04-20 17:10:16 -07:00
Madhura Bhave 4e0fdbee17 Process additional locations when non-default location configured
Fixes gh-20745
2020-04-20 17:08:54 -07:00
Madhura Bhave 7755e0c3e2 Fix Dockerfile example in docs
Fixes gh-21020
2020-04-20 16:02:35 -07:00
Madhura Bhave 2cac264624 Merge branch '2.2.x'
Closes gh-21049
2020-04-20 15:58:45 -07:00
Madhura Bhave af6d538781 Add support for initializing nested object when nothing bound
When using constructor binding, if no properties are bound to
a nested property, the top-level instance will be created with a
null value for the nested property.
This commit introduces support for an empty `@DefaultValue` which
indicates that an instance of the nested property must be created
even if nothing is bound to it. It honors any `@DefaultValue`
annotations that the nested property might have in its constructor.

Closes gh-18917
2020-04-20 15:39:55 -07:00
Phillip Webb 49d20aea11 Merge branch '2.2.x'
Closes gh-21047
2020-04-20 13:11:26 -07:00
Phillip Webb df26e24605 Fix ConditionalOnAvailableEndpoint dashed matching
Update `ConditionalOnAvailableEndpoint` so that it now uses the same
matching code as the endpoint filter. This allows the condition to
match endpoint IDs that contain a dash.

In order to share logic, the `ExposeExcludePropertyEndpointFilter` class
has been deprecated and its logic moved to a new `expose` package
under `IncludExcludeEndpointFilter`. This filter is used by both the
`OnAvailableEndpointCondition` and the auto-configuration classes.

Fixes gh-21044
2020-04-20 13:10:59 -07:00
Andy Wilkinson 3605235c67 Merge branch '2.2.x'
Closes gh-21041
2020-04-20 17:12:47 +01:00
Andy Wilkinson 439d9beecb Test that gridFsDatabase is honored by auto-configured GridFsTemplate
Closes gh-21039
2020-04-20 17:09:37 +01:00
Stephane Nicoll 415dcd899d Configure Cassandra's request throttling
Closes gh-19674
2020-04-20 15:56:09 +02:00
Stephane Nicoll 8787e749c4 Add IsolationLevel regression test with Kafka 2.4
This commit makes sure that our copy of the IsolationLevel enum is
consistent with what Kafka 2.4 provides

Closes gh-20822
2020-04-20 14:54:09 +02:00
Andy Wilkinson 2180d7b47a Merge pull request #21033 from dreis2211
* gh-21033:
  Fix anchors in links to Maven and Gradle plugin docs

Closes gh-21033
2020-04-20 13:39:58 +01:00
dreis2211 320b328610 Fix anchors in links to Maven and Gradle plugin docs
See gh-21033
2020-04-20 13:39:38 +01:00
Andy Wilkinson 7fe7d7e586 Revert unintended Jackson upgrade
This partially reverts commit 1f8ea54c.
2020-04-20 13:28:47 +01:00
Stephane Nicoll 2c72350cd8 Upgrade to Kafka 2.5.0
Closes gh-21032
2020-04-20 12:33:33 +02:00
Stephane Nicoll 1eca70a84b Restore Graphite tags behaviour unless configured explicitly
This commit harmonizes how Graphite is configured. If tagsAsPrefix is
set, it is used transparently. Otherwise, the new native tagging system
is used.

See https://github.com/micrometer-metrics/micrometer/pull/2007

Closes gh-20884
2020-04-20 12:20:46 +02:00
Phillip Webb e533ce3826 Merge branch '2.2.x'
Closes gh-21028
2020-04-19 18:56:02 -07:00
Phillip Webb d27e437ddc Merge branch '2.1.x' into 2.2.x
Closes gh-21027
2020-04-19 18:55:15 -07:00
Phillip Webb f0ec571b2e Document relaxed binding from the environment
Update the reference documentation with more details about how relaxed
binding works against environment variables.

Closes gh-18215
2020-04-19 18:51:07 -07:00
Phillip Webb 636a47641a Merge branch '2.2.x'
Closes gh-21026
2020-04-19 17:49:13 -07:00
Phillip Webb 55f0af7f0f Merge branch '2.1.x' into 2.2.x
Closes gh-21025
2020-04-19 17:48:32 -07:00
Phillip Webb 359b508077 Document devtool property file profile restrictions
Closes gh-19972
2020-04-19 17:46:24 -07:00
Phillip Webb 0ad1ea4352 Merge branch '2.2.x' 2020-04-19 16:52:48 -07:00
Phillip Webb 83553ee504 Fix test checkstyle issues
Fix checkstyle issues from forward merge.

See gh-21022
2020-04-19 16:51:59 -07:00
Phillip Webb 2293cb1a41 Merge branch '2.2.x'
Closes gh-21023
2020-04-19 16:05:00 -07:00
Phillip Webb 5757c0864c Merge branch '2.1.x' into 2.2.x
Closes gh-21022
2020-04-19 16:03:49 -07:00
Phillip Webb 6a4d98a865 Allow exposure patterns to match dashed IDs
Update `ExposeExcludePropertyEndpointFilter` so that patterns will
also match endpoint IDs that contain a dash.

Closes gh-20997
2020-04-19 15:58:20 -07:00
Stephane Nicoll 6a8aaa7b99 Merge branch '2.2.x'
Closes gh-21017
2020-04-19 16:37:06 +02:00
Stephane Nicoll 90c0378a7d Apply configuration properties deprecation consistently
This commit makes sure that both the getter and the setter of a
deprecated configuration properties is flagged with `@Deprecated`.

Closes gh-20812
2020-04-19 16:35:16 +02:00
Stephane Nicoll 5afe4743cb Remove deprecated configuration properties
This commit removes the following deprecated properties:

* `server.connection-timeout`
* `server.use-forward-headers`
* `server.jetty.max-http-post-size`
* `server.tomcat.max-http-post-size`

Closes gh-20991
2020-04-19 15:49:05 +02:00
Phillip Webb 7ab2bca376 Support commas in @ActiveProfiles
Update `SpringBootContextLoader` so that it correctly deals with an
`@ActiveProfiles` annotation that contains a comma.

Fixes gh-19537

Co-authored-by: Scott Frederick <sfrederick@pivotal.io>
Co-authored-by: Andy Wilkinson <awilkinson@pivotal.io>
2020-04-17 18:47:56 -07:00
Phillip Webb de8915432a Allow square bracket notation profiles properties
Update `ConfigFileApplicationListener` so that `spring.profiles.active`
and `spring.profiles.include` can use the square bracket list notation.

Prior to this commit, only comma-separated lists could be used for
those values.

Closes gh-21006
2020-04-17 17:34:14 -07:00
Phillip Webb e3b8478621 Polish 2020-04-17 16:12:11 -07:00
Scott Frederick 555132e096 Fix archive attributes in Gradle plugin
This commit ensures that file permissions are set on entries that the
Gradle plugin adds to an archive. It also reverts the constant date
and time used for added entries to a previous value to ensure a time
zone offset is not applied.

See gh-20927
2020-04-17 17:33:28 -05:00
Phillip Webb dc56608651 Merge branch '2.2.x'
Closes gh-21004
2020-04-17 15:20:38 -07:00
Phillip Webb 1a8aa72afd Merge branch '2.1.x' into 2.2.x
Closes gh-21003
2020-04-17 15:19:45 -07:00
Phillip Webb 822d9f6a31 Allow empty URIs to create embedded datasource
Refine `DataSourceAutoConfiguration` conditions so that an empty
`spring.datasource.url` property can be used to enable the embedded
source.

Fixed gh-20996
2020-04-17 15:07:50 -07:00
K Zoli 0d532042cb Use RequestDispatcher.ERROR_STATUS_CODE constant
See gh-20923
2020-04-17 16:01:11 +02:00
straumat 2338a3da3e Add reference to XChange starter
See gh-20830
2020-04-17 09:35:41 +02:00
Scott Frederick 1caca6e3d0 Deprecate unused ErrorController interface method
This commit marks as deprecated an interface method that is no longer
used, and changes all internal implementations to return `null` to
make the fact that the return value is not used more obvious.

Fixes gh-19844
2020-04-16 16:50:03 -05:00
Scott Frederick f4c2714139 Support server.error config in management context
Prior to this commit, the ManagementErrorEndpoint used to handle error
responses for the management servlet excluded stacktrace and exception
message details from the response unconditionally.

With this commit, the endpoint honors the
`server.error.include-stacktrace` and `server.error.include-details`
properties to conditionally include error details for consistency
with non-management error handling.

Fixes gh-20989
2020-04-16 16:48:22 -05:00
Phillip Webb 3c388cf48e Fix typo 2020-04-16 13:20:47 -07:00
Scott Frederick 70d4994502 Disable exception details on default error views
Prior to this commit, default error responses included the message
from a handled exception. When the exception was a BindException, the
error responses could also include an errors attribute containing the
details of the binding failure. These details could leak information
about the application.

This commit removes the exception message and binding errors detail
from error responses by default, and introduces a
`server.error.include-details` property that can be used to cause
these details to be included in the response.

Fixes gh-20505
2020-04-16 10:46:36 -05:00
Stephane Nicoll 71ecadeaee Polish "Optimize AutoConfigurationImportSelector.filter()"
See gh-20928
2020-04-16 14:13:05 +02:00
dreis2211 2158fadb35 Optimize AutoConfigurationImportSelector.filter()
See gh-20928
2020-04-16 14:12:56 +02:00
Stephane Nicoll fb2f6bb1af Polish
See gh-20975
2020-04-16 13:57:42 +02:00
Johnny Lim 5fad43ec40 Polish
See gh-20973
2020-04-16 13:46:53 +02:00
Stephane Nicoll e9016701e7 Start building against Spring Kafka 2.5.0 snapshots
See gh-20953
2020-04-16 11:47:09 +02:00
Stephane Nicoll 04544f9842 Polish 2020-04-15 15:11:28 +02:00
Stephane Nicoll dbdd84b230 Polish "Add reference to gRPC starter"
See gh-20966
2020-04-15 09:54:12 +02:00
Michael Zhang 8e6028f67c Add reference to gRPC starter
See gh-20966
2020-04-15 09:51:09 +02:00
Stephane Nicoll 4648ecef6e Merge branch '2.2.x'
Closes gh-20969
2020-04-15 09:48:32 +02:00
Stephane Nicoll 1dd8dcc6c9 Polish "Polish JarFile to extra anonymous inner class"
See gh-20882
2020-04-15 09:39:00 +02:00
Konrado85 e0d1cf0e38 Polish JarFile to extra anonymous inner class
See gh-20882
2020-04-15 09:33:24 +02:00
dreis2211 b0eea26260 Prevent shaded imports from Datastax
See gh-20967
2020-04-15 09:21:56 +02:00
dreis2211 5b9d8bfc17 Upgrade to Testcontainers 1.14.0
See gh-20936
2020-04-15 09:20:31 +02:00
Stephane Nicoll 17e5b08cba Polish 2020-04-15 09:09:27 +02:00
Stephane Nicoll 5b4c13d767 Start building against Spring Kafka 2.4.6 snapshots
See gh-20953
2020-04-15 08:49:51 +02:00
Stephane Nicoll 88d790a96c Start building against Spring Integration 5.3.0 snapshots
See gh-20951
2020-04-15 08:49:51 +02:00
Stephane Nicoll d02218d838 Start building against Spring Data Neumann-RC2 snapshots
See gh-20949
2020-04-15 08:49:51 +02:00
Stephane Nicoll b05bdbbf0b Start building against Spring AMQP 2.2.6 snapshots
See gh-20947
2020-04-15 08:49:51 +02:00
Stephane Nicoll abfe8940e0 Start building against Spring Framework 5.2.6 snapshots
See gh-20945
2020-04-15 08:49:51 +02:00
Stephane Nicoll 55c8811f2c Start building against Reactor Dysprosium-SR7 snapshots
See gh-20943
2020-04-15 08:49:51 +02:00
Stephane Nicoll 8fa6ec36f4 Remove @ConditionalOnMissingBean check on deprecated class
Closes gh-20968
2020-04-15 08:49:37 +02:00
Madhura Bhave d648b98991 Merge branch '2.2.x'
Closes gh-20964
2020-04-14 16:55:40 -07:00
Madhura Bhave 947594addd Merge branch '2.1.x' into 2.2.x
Closes gh-20963
2020-04-14 16:54:54 -07:00
Madhura Bhave c98fe51914 Make it more obvious that Jolokia does not work with a WebFlux app
Closes gh-20623
2020-04-14 16:45:31 -07:00
Phillip Webb 28da1da241 Update availability/probe documentation
Update the application availability and probes documentation following
the recent set of updates.

See gh-20962
2020-04-14 16:40:36 -07:00
Phillip Webb 5311c04437 Change HealthEndpointGroups customization support
Update the `HealthEndpointGroups` customization support to use a
post-processor rather than a mutable registry. Although this approach
is slightly less flexible, it removes a lot of complexity from the
`HealthEndpointGroups` code. Specifically, it allows us to drop the
`HealthEndpointGroupsRegistry` interface entirely.

The probe health groups are now added via the post-processor if they
aren't already defined. Unlike the previous implementation, users are
no longer able to customize status aggregation and http status code
mapping rules _unless_ they also re-define the health indicators that
are members of the group.

See gh-20962
2020-04-14 16:40:36 -07:00
Phillip Webb f32a37e289 Support `management.health.probes.enabled=false`
Update `AvailabilityProbesAutoConfiguration` to allow the
`management.health.probes.enabled` property to override the platform
detection logic. Prior to this commit, it was possible to use the
property to enable the probes, but it was not possible to disable
them when deploying to Kubernates.

See gh-20962
2020-04-14 16:40:36 -07:00
Phillip Webb 82cfd7c6c9 Restructure probes auto-configuration
Relocate probe auto-configuration from the `kubernetes` package to
`availability` since probes could also be used on other platforms.

The classes have also been renamed to named to `AvailabilityProbes...`

See gh-20962
2020-04-14 16:40:36 -07:00
Phillip Webb 71e4801e68 Rename probe health indicators
Rename `LivenessProbeHealthIndicator` to `LivenessStateHealthIndicator`
and `ReadinessProbeHealthIndicator` to `ReadinessStateHealthIndicator`.

Also introduce a general purpose `AvailabilityStateHealthIndicator`
class.

See gh-20962
2020-04-14 16:40:36 -07:00
Phillip Webb bb79c847b2 Allow custom availability states
Create a general purpose `AvailabilityState` interface and refactor
the existing `LivenessState` and `ReadinessState` to use it. A single
`AvailabilityChangeEvent` is now used to carry all availability state
updates.

This commit also renames `ApplicationAvailabilityProvider` to
`ApplicationAvailabilityBean` and extracts an `ApplicationAvailability`
interface that other beans can inject. The helps to hide the event
listener method, which is really internal.

Finally the state enums have been renamed as follows:

 - `LivenessState.LIVE` -> `LivenessState.CORRECT`
 - `ReadinessState.READY` -> `ReadinessState.ACCEPTING_TRAFFIC`
 - `ReadinessState.UNREADY` -> `ReadinessState.REFUSING_TRAFFIC`

See gh-20962
2020-04-14 16:40:36 -07:00
Stephane Nicoll 6e1ff50328 Start building against Spring Kafka 2.3.8 snapshots
See gh-20952
2020-04-14 14:29:41 +02:00
Stephane Nicoll fafac58311 Start building against Spring Integration 5.2.6 snapshots
See gh-20950
2020-04-14 14:29:06 +02:00
Stephane Nicoll fb11285279 Start building against Spring Data Moore-SR7 snapshots
See gh-20948
2020-04-14 14:28:21 +02:00
Stephane Nicoll 99b576707e Start building against Spring AMQP 2.2.6 snapshots
See gh-20946
2020-04-14 14:27:46 +02:00
Stephane Nicoll ea1345d074 Start building against Spring Framework 5.2.6 snapshots
See gh-20944
2020-04-14 14:27:11 +02:00
Stephane Nicoll 4474da8850 Start building against Reactor Dysprosium-SR7 snapshots
See gh-20942
2020-04-14 14:26:28 +02:00
Brian Clozel 939bb87a02 Merge branch '2.2.x'
Closes gh-20957
2020-04-14 14:18:48 +02:00