Commit Graph

9106 Commits

Author SHA1 Message Date
Jon Schneider 507b062c43 Improve property name in thrown Micrometer ValidationException
See gh-21069
2020-04-22 10:03:50 +01:00
Stephane Nicoll f0fe7060df Polish 2020-04-22 10:47:18 +02:00
Phillip Webb bf41da5322 Update copyright year of changed files 2020-04-21 18:12:27 -07:00
Phillip Webb ed7a5db174 Fail operations when JarFile is closed
Update `JarFile` to track when the instance has been closed and throw
an exception in the same way that `ZipFile` does.

Closes gh-21072
2020-04-21 18:12:03 -07:00
Phillip Webb cc33e23d31 Merge branch '2.2.x'
Closes gh-21074
2020-04-21 17:22:11 -07:00
Phillip Webb 6bf933205c Merge branch '2.1.x' into 2.2.x
Fixes gh-21073
2020-04-21 17:21:32 -07:00
Madhura Bhave 0699116e95 Merge branch '2.2.x'
Closes gh-21075
2020-04-21 17:11:05 -07:00
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
Brian Clozel 49bbcceda9 Fix Undertow compression config with invalid Mime Types
Prior to this commit, the Undertow compression configuration provided by
Spring Boot would fail and throw an exception for invalid MIME Types
when trying to check them against the list of configured types for
compression.

This commit ensures that invalid MIME Types are ignored and that
compression is disabled for those.

Fixes gh-20955
2020-04-14 14:15:39 +02:00
Stephane Nicoll a3095d5956 Start building against Spring Integration 5.1.10 snapshots
See gh-20941
2020-04-14 10:35:23 +02:00
Stephane Nicoll 35c66d9088 Start building against Spring Data Lovelace-SR17 snapshots
See gh-20940
2020-04-14 10:32:41 +02:00
Stephane Nicoll 16334304d6 Start building against Spring AMQP 2.1.14 snapshots
See gh-20939
2020-04-14 10:32:04 +02:00
Stephane Nicoll 6a4fbe18c2 Start building against Spring Framework 5.1.15 snapshots
See gh-20938
2020-04-14 10:24:08 +02:00
Stephane Nicoll fca3601477 Start building against Reactor Californium-SR18 snapshots
See gh-20937
2020-04-14 10:22:45 +02:00
Phillip Webb 1604cb2a1e Polish 2020-04-13 14:05:48 -07:00
Johnny Lim cb320288a4 Polish
See gh-20931
2020-04-13 14:35:21 +02:00
Konrado85 9f4c39c985 Change PropertiesLauncher equals method to use URI
See gh-20872
2020-04-13 13:55:17 +02:00
Stephane Nicoll 81e1f1a94a Polish "Add reference to Mule 4 starter"
See gh-20915
2020-04-13 13:53:44 +02:00
Manuel Núñez 22cd477a60 Add reference to Mule 4 starter
See gh-20915
2020-04-13 13:52:41 +02:00
dreis2211 4b9986d790 Remove unused fields in tests
See gh-20926
2020-04-13 13:46:43 +02:00
Brian Clozel ce653059c8 Improve recording of cancellation signal in WebClient
With its initial fix in gh-18444, the `WebClient` instrumentation would
record all CANCEL signals, including:

* when a `timeout` expires and the response has not been received
* when the client partially consumes the response body

Since the second use case is arguable intentional, this commit restricts
the instrumentation and thus avoids recording two events for a single
request in that case.

Closes gh-18444
2020-04-11 21:52:18 +02:00
Stephane Nicoll 73ca703007 Merge branch '2.2.x'
Closes gh-20919
2020-04-11 10:28:43 +02:00
Stephane Nicoll 60f726a080 Polish 2020-04-11 10:27:05 +02:00
Stephane Nicoll 3cdb5a690a Polish "Align Kafka's missingTopicsFatal default value"
See gh-20917
2020-04-11 10:20:09 +02:00
dhimathu a12eace2a8 Align Kafka's missingTopicsFatal default value
See gh-20917
2020-04-11 10:03:21 +02:00
Vedran Pavic fec386b574 Harmonize naming of Elasticsearch auto-configuration classes 2020-04-11 10:00:42 +02:00
Brian Clozel 3879a7505c Record cancelled client requests in WebClient
Prior to this commit, cancelled client requests (for example as a result
of a `timeout()` reactor operator would not be recorded by Micrometer.

This commit instruments the cancelled signal for outgoing client
requests and assigns a status `CLIENT_ERROR`.
The cancellation can be intentional (triggering a timeout and falling
back on a faster alternative) or considered as an error. The intent
cannot be derived from the signal itself so we're considering it as a
client error.

Closes gh-18444
2020-04-10 22:37:00 +02:00
Cicio Flaviu 7f1655e5cb Add package-info to buildpack.platform.docker.ssl
See gh-20913
2020-04-10 08:57:23 -05:00
dreis2211 43936d66d3 Improve Binder performance slightly
See gh-20755
2020-04-10 14:23:56 +02:00
Brian Clozel 0611b6d3eb Fix startup failure when WebFlux auto-config is skipped
Prior to this commit, the `HttpHandlerAutoConfiguration` would rely on
the `WebFluxProperties` bean being present - this is most of the time
true when the appplication is using the WebFlux auto-configuration.

If the application is overriding the WebFlux auto-configuration and
providing its own setup, the properties bean is not present and we
should skip its usage.

Fixes gh-20891
2020-04-10 14:16:16 +02:00
dreis2211 d4575bc122 Fix unused parameters
See gh-20911
2020-04-10 14:06:42 +02:00
Stephane Nicoll 62ebe9c006 Adapt to Wavefront SDK 2.1
Closes gh-20854
2020-04-10 11:56:42 +02:00
Stephane Nicoll 9752cd4b8c Merge branch '2.2.x'
Closes gh-20909
2020-04-10 11:37:32 +02:00
A Vaz 267f6481f8 Fix typo
See gh-20907
2020-04-10 11:36:46 +02:00
Stephane Nicoll d571fb311f Add support for NewRelicClientProvider
Closes gh-20908
2020-04-10 11:34:19 +02:00
Madhura Bhave 1342e4970a Provide a condition for detecting war deployments
Closes gh-19421
2020-04-09 18:52:06 -07:00
Andy Wilkinson 8e695b0cc5 Configure OncePerRequestFilters with all dispatcher types by default
Closes gh-18953
2020-04-09 15:08:05 +01:00
Andy Wilkinson 2d360ef155 Merge branch '2.2.x'
Closes gh-20897
2020-04-09 12:41:48 +01:00
Andy Wilkinson 7e1807c01b Polish "Update endpoint enablement description to describe availability"
See gh-20799
2020-04-09 12:41:16 +01:00
Eric Opoku 399c85a5ef Update endpoint enablement description to describe availability
See gh-20799
2020-04-09 12:41:05 +01:00
Stephane Nicoll 8cc61242e2 Use Micrometer's getDefaultSenderBuilder
This commit removes the duplication added temporarily in Spring Boot to
initialize a default WavefrontSender builder.

This commit also disables a test is failing at the moment, see
https://github.com/micrometer-metrics/micrometer/issues/1964

See gh-20854
2020-04-08 20:24:32 +02:00
Stephane Nicoll 1c70b6735a Remove plugin management for exec-maven-plugin
Closes gh-20883
2020-04-08 17:51:22 +02:00
dreis2211 ae15a3d162 Polish LayersIndex
See gh-20874
2020-04-08 17:29:07 +02:00
Scott Frederick ba4eec87e4 Continue processing properties files on error
Prior to this commit, processing of multiple properties files
discovered using a wildcard pattern would stop on any error
encountered while processing a file or when an empty properties file
was found, causing subsequent files from the pattern to be ignored.

This commit changes the behavior such that subsequent files are
processed on error or on an empty file.

Fixes gh-20873
2020-04-08 09:26:41 -05:00
Madhura Bhave 62c09d607a Polish 2020-04-07 14:28:36 -07:00
Phillip Webb ed2d90248c Rename `singleSignOn` property to `singlesignon`
Rename the SAML `singleSignOn` nested property to `singleSignOn` so
that we don't get problems when using uppercase environment variable
names.

See gh-20584
2020-04-07 14:14:58 -07:00
Phillip Webb 3ca896e63f Polish 2020-04-07 12:10:49 -07:00
Phillip Webb 1640add8be Don't use Assert class from loader
Remove the use of `Assert` since it's unavailable that early.
2020-04-07 12:09:43 -07:00
Phillip Webb d9fb4dd477 Don't use monospacing in documentation headings
Closes gh-20875
2020-04-07 11:08:57 -07:00
Scott Frederick e17d4be484 Polish plugin documentation headings 2020-04-07 09:17:51 -05:00
Scott Frederick a64e26fc44 Polish plugin documentation headings 2020-04-07 08:53:37 -05:00
Stephane Nicoll dc94a87694 Merge branch '2.2.x'
Closes gh-20869
2020-04-07 15:10:02 +02:00
Stephane Nicoll cb66e4a206 Update copyright year
See gh-20832
2020-04-07 15:09:27 +02:00
dreis2211 235e693906 Fix WebappLoader constructor deprecations
See gh-20832
2020-04-07 15:08:28 +02:00
Stephane Nicoll 885ad1b720 Merge branch '2.2.x'
Closes gh-20868
2020-04-07 15:05:47 +02:00
dreis2211 2f93196fbb Polish ConditionMessage#because()
See gh-20847
2020-04-07 15:04:50 +02:00
Phillip Webb 729fc9dd6d Ensure streams are always closed
Update `AbstractJarWriter` to ensure that streams are always closed,
even if entries are not written.
2020-04-06 23:48:37 -07:00
Phillip Webb 1abbfbbfcd Attempt to fix failing Windows test 2020-04-06 23:48:28 -07:00
Phillip Webb ffd499fdc7 Attempt to fix failing Windows test 2020-04-06 23:02:12 -07:00
Phillip Webb d3c06ee0cf Remove windows line endings when parsing index 2020-04-06 21:57:36 -07:00
Phillip Webb 4b1346f4bf Polish 2020-04-06 21:52:25 -07:00
Phillip Webb 5b374e833b Cleanup paths to fix tests running on Windows 2020-04-06 20:33:33 -07:00
Phillip Webb baa728c85e Cleanup paths to fix tests running on Windows 2020-04-06 20:17:16 -07:00
Phillip Webb 5e028599f0 Change PDF rename logic
Rework the rename logic used to include the reference PDF to try
and workaround the following local build error:

	Encountered duplicate path "reference/pdf/spring-boot-reference.pdf"
	during copy operation configured with DuplicatesStrategy.FAIL

See gh-20829
2020-04-06 19:18:22 -07:00
Phillip Webb b50e8eb3aa Fix package tangle in Gradle plugin
Relocate `VersionExtractor` to fix a package tangle.
2020-04-06 19:18:22 -07:00
Phillip Webb 6e7b473fef Polish asciidoc formatting and use sentence case 2020-04-06 19:18:22 -07:00
Phillip Webb 951a3e78f9 Test layer index can contain filenames with spaces
Add tests to ensure that the layer index can support filenames that
contain spaces.

Closes gh-20827
2020-04-06 19:18:22 -07:00
Phillip Webb 464c15e52c Ensure empty layers are written to the index file
Update the `LayersIndex` class to ensure that layers that do not contain
content are still written.

Closes gh-20858
2020-04-06 19:18:22 -07:00
Phillip Webb ef9611e30e Document executable-jar index files
Update the executable jar appendix to include details of the index
files.

Closes gh-20859
2020-04-06 19:18:22 -07:00
Phillip Webb df58b9baa2 Use YAML compatible classpath.idx format
Update the `classpath.idx` format to align with `layers.idx` and allow
third-parties can parse it as YAML

Closes gh-20861
2020-04-06 19:18:22 -07:00
Phillip Webb 65672a1150 Use a more compact layers.idx format
Update the `layers.idx` format so that it is more compact and can be
parsed by third-parties as YAML.

Closes gh-20860
2020-04-06 19:18:22 -07:00
Scott Frederick 35ff711dfe Document builder configuration for HTTP proxy
This commit adds examples for configuring the default builder to use
an HTTP/HTTPS proxy when building OCI images using the Maven or Gradle
plugin.

Fixes gh-19984
2020-04-06 18:20:34 -05:00
Scott Frederick c05d7f844d Remove duplication in documentation index files
This commit combines index adoc files for single-page HTML and PDF
into one file to remove duplication. It also renames index files to
reflect the separation between source format and generated output
format.

Finishes gh-20829
2020-04-06 16:49:29 -05:00
Madhura Bhave c4b0bd1698 Merge pull request #20851 from olegz
* pr/20851:
  Change call to createClassLoader(URL) from 'super' to 'this'

Closes gh-20851
2020-04-06 10:43:17 -07:00
Oleg Zhurakousky 9f75f30856 Change call to createClassLoader(URL) from 'super' to 'this'
ExecutableArchiveLauncher.createClassLoader(Iterator) calls
createClassLoader(URL) method with 'super'. This means overriding
createClassLoader(URL) is not possible without also overriding
createClassLoader(Iterator). The switch to 'this' enables that.

See gh-20851
2020-04-06 10:40:37 -07:00
Stephane Nicoll 6764e5e2d0 Export metrics to Wavefront using WavefrontSender
This commit upgrades the Wavefront metrics export auto-configuration to
provide a `WavefrontSender` if necessary and use that to export metrics
rather than the http client Micrometer used previously.

As a result, the "read-timeout" and "connect-timeout" properties are no
longer honoured.

Closes gh-20810
2020-04-06 18:32:06 +02:00
Stephane Nicoll 9543ab1ca9 Update default value for Wavefront's step size
See gh-20833
2020-04-06 18:06:59 +02:00
Stephane Nicoll a8c026a558 Expose Prometheus#histogramFlavor property
Closes gh-20853
2020-04-06 18:06:59 +02:00
Stephane Nicoll f64f5a0f55 Expose Elastic's pipeline and indexDateSeparator properties
Closes gh-20852
2020-04-06 18:06:59 +02:00
Stephane Nicoll f293f6ad9b Expose AppOptics's floorTimes property
Closes gh-20850
2020-04-06 18:06:59 +02:00
Stephane Nicoll 888a81beba Migrate Kafka metrics to KafkaClientMetrics
Closes gh-20838
2020-04-06 16:45:56 +02:00
Stephane Nicoll 333ac279c3 Stop auto-configuring a StatsdMetrics bean
StatsD no longer publishes metrics about itself and StatsDMetrics is
deprecated as a result. This commit removes the auto-configuration of
it.

Closes gh-20836
2020-04-06 16:45:56 +02:00
Stephane Nicoll 30201a40e0 Update SLA boundaries to use double
See https://github.com/micrometer-metrics/micrometer/pull/1909

Closes gh-20837
2020-04-06 16:45:56 +02:00
Stephane Nicoll 4813606b70 Expose Graphite's graphiteTagsEnabled property
This commit exposes an additional property for Graphite that allows to
restore the previous default behaviour with regards to tags, i.e.
prefixing the ones defined by the "tagsAsPrefix" property.

Close gh-20834
2020-04-06 16:45:56 +02:00
Stephane Nicoll 08533c79e0 Update default value for Datadog's default uri
See gh-20833
2020-04-06 10:19:12 +02:00
Stephane Nicoll 4b81548502 Start building against Micrometer 1.5.0 snapshots
See gh-20833
2020-04-06 10:19:12 +02:00
Georgios Voulgarakis da13751dbf Add reference to quickfixj spring boot starter
See gh-20819
2020-04-05 17:47:28 +02:00
Stephane Nicoll 7ca6359b43 Remove PushRegistry's numThreads deprecated property
See gh-20835
2020-04-05 15:32:39 +02:00
Stephane Nicoll a23700f323 Merge branch '2.2.x'
Closes gh-20845
2020-04-05 15:14:44 +02:00
Stephane Nicoll 1960c90d5f Deprecated PushRegistry's numThreads property
This property is a left-over and was never used in Micrometer so this
commit deprecates its use so that it can be removed in the next feature
release.

Closes gh-20835
2020-04-05 15:12:42 +02:00
Stephane Nicoll 72f2afe1f3 Merge branch '2.2.x'
Closes gh-20844
2020-04-05 14:59:52 +02:00
Stephane Nicoll 4641794fb5 Fix AtlasProperties hierarchy
This commit fixes the AtlasProperties hierarchy so that it no longer is
a StepRegistryProperties. The AtlasConfig on the Micrometer side of
things does not share the common config hierarchy either and some
properties have different default and lifecycle.

Closes gh-20843
2020-04-05 14:57:25 +02:00
Scott Frederick bb568c5bff Consolidate Maven plugin documentation in plugin reference
This commit moves Maven plugin content from several sections in the
main Spring Boot reference documentation to the plugin-specific
documentation.

Fixes gh-19165
2020-04-03 16:41:12 -05:00
Scott Frederick c119dd2450 Rename plugin PDF reference doc files
This commit renames the PDF documentation files generated for the
build plugins when the distribution archive is created.

See gh-20829
2020-04-03 15:50:23 -05:00
Madhura Bhave f40444e212 Fix typo 2020-04-03 12:30:46 -07:00
Stephane Nicoll b7ac83a830 Fix typo 2020-04-03 17:03:57 +02:00
Stephane Nicoll 1df8b5886c Add reference to r2dbc database initialization section
Closes gh-20524
2020-04-03 16:51:10 +02:00
Stephane Nicoll 5c69534827 Remove direct dependency on Kafka's IsolationLevel
Closes gh-20811
2020-04-03 16:27:40 +02:00
Stephane Nicoll f4e6d7c1cf Fix links to Maven Plugin's documentation in reference guide
Closes gh-20818
2020-04-03 14:34:16 +02:00
Andy Wilkinson 34e602652c Polish new layered jar support 2020-04-03 10:47:57 +01:00
Stephane Nicoll 3e936dd735 Polish 2020-04-03 10:36:06 +02:00
Stephane Nicoll c88ef6215f Polish 2020-04-03 10:34:23 +02:00
Stephane Nicoll f963180ab8 Polish 2020-04-03 10:05:05 +02:00
Phillip Webb 12bc890e75 Update Maven and Gradle layer customization docs
Update the Maven and Gradle documentation following the refined
layer customization changes.

See gh-20526
2020-04-03 00:34:27 -07:00
Madhura Bhave 0e1394ef30 Update reference documentation for layer changes
Update the reference documentation following the jar format changes.

See gh-20813
2020-04-03 00:34:27 -07:00
Madhura Bhave d61a79d90b Support flat jar layering with layertools
Update layertools to support the flat jar format. Layers are now
determined by reading the `layers.idx` file.

Closes gh-20813
2020-04-03 00:34:27 -07:00
Andy Wilkinson bfa04e6574 Support flat jar layering with Gradle
Update the Gralde plugin so that layered jars now use the regular "flat"
format. The layers.idx file now describes which layer each file should
be placed.

See gh-20813

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
2020-04-03 00:34:27 -07:00
Madhura Bhave 4e3cdf936f Support flat jar layering with Maven
Update the Maven plugin so that layered jars now use the regular "flat"
format. The layers.idx file now describes which layer each file should
be placed.

See gh-20813

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
2020-04-03 00:34:27 -07:00
Phillip Webb 3f806aa513 Create a new layer for loader classes
Create a dedicated layer that is used to hold the launcher support
classes. The layer sits between `dependencies` and
`snapshot-dependencies` so that the layer is sensible for both
SNAPSHOT and RELEASE versions of Spring Boot

Closes gh-20529
2020-04-03 00:09:30 -07:00
Phillip Webb 7bc7d86ad4 Refine layer customization for Maven and Gradle
Simplify layer customization logic for both Maven and Gradle and
refactor some internals of the Gradle plugin.

Both Maven and Gradle now use a simpler customization format that
consists of `application`, `dependencies` and `layer order` sections.
The `application`, `dependencies` configurations support one or more
`into` blocks that are used to select content for a specific layer.

Closes gh-20526
2020-04-03 00:03:21 -07:00
Andy Wilkinson 14718f3e8a Allow layertools to work without spring-boot jar
Update `spring-boot-jarmode-layertools` so that it no longer required
a `spring-boot` jar to run.

Closes gh-20815
2020-04-03 00:01:38 -07:00
Phillip Webb 01c7623f5d Polish 2020-04-02 22:08:30 -07:00
Madhura Bhave 577bc1ce88 Fix formatting 2020-04-02 21:51:49 -07:00
Madhura Bhave c2e95ee7ee Support both JWT and Opaque token configuration for resource server
Closes gh-19426
2020-04-02 19:16:34 -07:00
Madhura Bhave 8659102650 Add configuration options for SAML authentication requests
Closes gh-20584
2020-04-02 13:19:56 -07:00
Scott Frederick 6a0d620860 Polish javadoc 2020-04-02 14:48:54 -05:00
Brian Clozel ffc2cff8de Override CloudPlatform auto-detection with configuration property
This commit adds the new "`spring.main.cloud-platform`" configuration
property. This allows applications to override the auto-detection and
force a specific Cloud Platform. This is useful for testing behavior on
a local machine or force the detection of a particular platform.

This commit also adds a new `CloudPlatform.NONE` value that allows
applications to disable the auto-detection of the Cloud Platform, thus
avoiding issues with false positives.

Closes gh-20553
2020-04-02 20:28:55 +02:00
Stephane Nicoll f4c68dbc98 Do not set server.port=-1 for non embedded tests
Closes gh-16998
2020-04-02 18:12:39 +02:00
Brian Clozel bbbf8c527d Polish
See gh-20205
2020-04-02 15:16:54 +02:00
wonwoo a7e57e0909 Configure codec buffer size in ES Reactive Rest client
This commit adds a new configuration property
`"spring.data.elasticsearch.client.reactive.max-in-memory-size"`
which configures the maximum amount of memory buffered by the
`WebClient` used by the Reactive ElasticSearch client.

See gh-20205
2020-04-02 15:14:38 +02:00
Stephane Nicoll 2815e6ee2d Remove deprecated Humio's repository property
Closes gh-20808
2020-04-02 11:34:44 +02:00
Andy Wilkinson 1f8ea54c80 Upgrade to Spring Integration 5.3.0.M4
Closes gh-20807
2020-04-02 09:10:00 +01:00
Scott Frederick cc2852ce79 Polish 2020-04-01 18:43:11 -05:00
Scott Frederick a01c8452cb Support CNB builder platform API 0.3
This commit adds support for Cloud Native Buildpacks builder platform
API 0.3, which is the latest platform API available currently. Support
for platform API 0.1 has been removed, adopting the policy of the pack
CLI to support the current platform API version and one version prior.

Fixes gh-20757
2020-04-01 17:18:46 -05:00
Scott Frederick bb9e37e119 Use platform API builder image tags
CNB builder images are now being tagged in a manner that indicates
the version of the platform API implemented. This allows Spring Boot
to default to a builder tag that guarantees API compatibility while
allowing for updates to bundled buildpacks.

Fixes gh-20171
2020-04-01 16:18:05 -05:00
Phillip Webb 4dad56a491 Restructure and polish docker code
Restructure and polish docker code to fix a package tangle and
provide better separation of concerns.
2020-04-01 11:51:33 -07:00
Phillip Webb 5d8d0bb159 Update copyright year of changed files 2020-04-01 11:51:29 -07:00
Phillip Webb 9795262dc1 Polish 2020-04-01 11:20:56 -07:00
Andy Wilkinson bcac1e9184 Upgrade to Spring Kafka 2.4.5.RELEASE
Closes gh-20797
2020-04-01 18:58:54 +01:00
Stephane Nicoll b9cb1c810b Merge pull request #20729 from gurbuzali
* pr/20729:
  Polish "Disable Hazelcast auto-configuration when Jet is present"
  Disable Hazelcast auto-configuration when Jet is present

Closes gh-20729
2020-04-01 15:47:53 +02:00
Stephane Nicoll 617786e06f Polish "Disable Hazelcast auto-configuration when Jet is present"
See gh-20729
2020-04-01 15:46:42 +02:00
Andy Wilkinson e0b3916971 Upgrade to Spring Batch 4.2.2.RELEASE
Closes gh-20792
2020-04-01 14:35:27 +01:00
Ali Gurbuz 002a7c6e87 Disable Hazelcast auto-configuration when Jet is present
See gh-20729
2020-04-01 15:30:14 +02:00
Stephane Nicoll dfac3a282b Add configuration to enable Redis Cluster topology refresh
This commit adds two options to enable a refresh of the cluster
topology using Lettuce.

Closes gh-15630
2020-04-01 14:31:29 +02:00
Andy Wilkinson d8cead5457 Use accessor for in-progress async count added in Tomcat 9.0.33
Closes gh-20440
2020-04-01 11:16:54 +01:00
Andy Wilkinson 281f4d4ceb Clear system property set by log file registration
Closes gh-20790
2020-04-01 11:10:16 +01:00
Andy Wilkinson 5c879b2812 Upgrade to Tomcat 9.0.33
Closes gh-20789
2020-04-01 09:41:22 +01:00
Andy Wilkinson 375879404d Upgrade to Spring Security 5.3.1.RELEASE
Closes gh-20788
2020-04-01 09:41:20 +01:00
Andy Wilkinson 31831b3440 Upgrade to SendGrid 4.4.6
Closes gh-20787
2020-04-01 09:41:19 +01:00
Andy Wilkinson 0ba4157012 Upgrade to RxJava2 2.2.19
Closes gh-20786
2020-04-01 09:41:18 +01:00
Andy Wilkinson dc4b19718e Upgrade to QueryDSL 4.3.1
Closes gh-20785
2020-04-01 09:41:16 +01:00
Andy Wilkinson 02352475a6 Upgrade to Postgresql 42.2.12
Closes gh-20784
2020-04-01 09:41:15 +01:00
Andy Wilkinson cd6054bcf1 Upgrade to Netty tcNative 2.0.30.Final
Closes gh-20783
2020-04-01 09:41:14 +01:00
Andy Wilkinson 5d039810e6 Upgrade to Netty 4.1.48.Final
Closes gh-20782
2020-04-01 09:41:12 +01:00
Andy Wilkinson 47dbd73a74 Upgrade to Neo4j OGM 3.2.10
Closes gh-20781
2020-04-01 09:41:11 +01:00
Andy Wilkinson 095cbf7a41 Upgrade to MongoDB 4.0.1
Closes gh-20780
2020-04-01 09:41:09 +01:00
Andy Wilkinson 9ae944474d Upgrade to Mockito 3.3.3
Closes gh-20779
2020-04-01 09:41:08 +01:00
Andy Wilkinson eeb1090e21 Upgrade to MIMEPull 1.9.13
Closes gh-20778
2020-04-01 09:41:07 +01:00
Andy Wilkinson 4cfdcd52e8 Upgrade to Micrometer 1.3.7
Closes gh-20777
2020-04-01 09:41:05 +01:00
Andy Wilkinson f88080bead Upgrade to Maven Javadoc Plugin 3.2.0
Closes gh-20776
2020-04-01 09:41:04 +01:00
Andy Wilkinson 7f6cd6eef4 Upgrade to MariaDB 2.6.0
Closes gh-20775
2020-04-01 09:41:03 +01:00