Commit Graph

9111 Commits

Author SHA1 Message Date
Phillip Webb 7d53f7d27f Attempt to prevent JarFiles from being left open
Update `JarFile` to also call `super.close()` early for nested jars.

See gh-21126
2020-04-25 22:20:53 -07:00
Phillip Webb 4f47b7b46a Merge branch '2.2.x'
See gh-21127
2020-04-25 13:32:43 -07:00
Phillip Webb 7c6e912463 Attempt to prevent JarFiles from being left open
Update `JarFile` so that `super.close()` is called early so that the
file is not left open. Since we re-implement `JarFile` methods to work
directly on the underlying `RandomAccessDataFile`, it should be safe
to close immediately.

See gh-21126
2020-04-25 13:03:07 -07:00
Stephane Nicoll 85a3fcfb5e Merge branch '2.2.x'
Closes gh-21119
2020-04-25 09:32:24 +02:00
Stephane Nicoll 80410997ec Polish "Enhance Database initialization how to guide"
See gh-21077
2020-04-25 09:30:58 +02:00
nikmanzotti f2b10be01e Enhance Database initialization how to guide
See gh-21077
2020-04-25 09:30:43 +02:00
Stephane Nicoll 961be0fea3 Merge branch '2.2.x'
Closes gh-21118
2020-04-25 09:15:49 +02:00
dreis2211 e3a9bacf3b Fix typo
See gh-21002
2020-04-25 09:14:01 +02:00
dreis2211 54f319acd5 Remove unused method
See gh-21117
2020-04-25 09:07:13 +02:00
Johnny Lim ef567388c1 Polish
See gh-21110
2020-04-25 09:04:10 +02:00
dreis2211 848127ae49 Avoid recompiling pattern in Handler#canonicalize
See gh-21103
2020-04-25 09:02:21 +02:00
dreis2211 c2fb95151b Fix link to R2DBC Query in docs
See gh-21079
2020-04-25 09:00:58 +02:00
dreis2211 667033c149 Fix Actuator API PDF name
See gh-21054
2020-04-25 08:59:00 +02:00
Stephane Nicoll c7baf5fda1 Update copyright year of changed file
See gh-21009
2020-04-25 08:55:27 +02:00
dreis2211 5eb5bf0a2d Polish
See gh-21009
2020-04-25 08:54:47 +02:00
Stephane Nicoll 85e9f713b0 Update copyright year of changed files
See gh-21007
2020-04-25 08:50:51 +02:00
Johnny Lim 29717423a3 Remove this keyword on member method invocations
See gh-21007
2020-04-25 08:49:44 +02:00
Mikael c06edbe6f4 Polish ApplicationHome
See gh-20992
2020-04-25 08:44:37 +02:00
Andy Wilkinson 076a384c9c Merge branch '2.2.x'
Closes gh-21112
2020-04-24 18:10:00 +01:00
Andy Wilkinson 29dc236bb2 Broaden deprecation warning check in Gradle Plugin's tests
Closes gh-21111
2020-04-24 17:45:42 +01:00
Andy Wilkinson d5b944140a Attempt to stabilise CouchbaseAutoConfigurationIntegrationTests
Starting the CouchbaseContainer fails intermittently when creation
of the primary index for the bucket fails with a read timeout. The
test doesn't require a primary index for the bucket so this commit
disables it creation in the hope that it will help to stabilise the
test.
2020-04-24 16:21:08 +01:00
Andy Wilkinson dc75ca3942 Avoid capturing TCCL when creating DefaultResourceLoaders
Previously, DefaultResourceLoader instances were created using the
default constructor. This causes the resource loader to capture the
TCCL that was in place at that time. This can lead to a class loader
leak if the resource loader is referenced directly or indirectly from
a static field of a class loaded by a different class loader.

This commit updates the creation of DefaultResourceLoader instances
in main code so that the resource load will use the class loader of
the creating class. In almost all cases this will be the same class
loader as was the thread context class loader that was being captured
so the change in behavior is minimal. Crucially, it will still address
the situation where the TCCL was different.

Note the DevTools' ApplicationContextResourceLoader has been updated
to explicitly use the TCCL. This ensures that it uses the restart
class loader which is required for DevTools to function correctly.

Fixes gh-20900
2020-04-24 13:29:29 +01:00
Andy Wilkinson d53be18582 Deprecate support for Bitronix
Closes gh-20823
2020-04-24 11:37:44 +01:00
Phillip Webb 6ccba24494 Merge branch '2.2.x'
Close gh-20507 in 2.3.0.RC1
2020-04-23 16:40:49 -07:00
Phillip Webb 581ce09f88 Merge branch '2.1.x' into 2.2.x
Closes gh-21106
2020-04-23 16:39:38 -07:00
Phillip Webb 416cfc2c86 Improve @Value documentation
Improve "@ConfigurationProperties vs. @Value" documentation with the
recommendation that kebab-case is used with the `@Value` annotation.

Closes gh-20507
2020-04-23 16:39:22 -07:00
Phillip Webb db28c0c65c Backport "Attempt to fix CI" 2020-04-23 16:35:01 -07:00
Phillip Webb 4de69c380d Attempt to fix CI 2020-04-23 15:55:10 -07:00
dreis2211 1be8312886 Fix PropertiesMigrationListenerTests
See gh-21104
2020-04-23 14:53:03 -07:00
Phillip Webb 49345025ac Merge branch '2.2.x'
Closes gh-21105
2020-04-23 14:44:08 -07:00
Phillip Webb 93f7e2b6ba Limit when PortInUseException is thrown
Refactor `PortInUseException` logic to a single place and refine when
the exception is thrown.

Prior to this commit, we assumed that a `BindException` was only thrown
when the port was in use. In fact, it's possible that the exception
could be thrown because the requested address "could not be assigned".

We now only throw a `PortInUserException` if the `BindException` message
includes the phrase "in use".

Fixes gh-21101
2020-04-23 14:42:30 -07:00
Phillip Webb b73d5038d5 Merge branch '2.2.x' 2020-04-23 14:35:08 -07:00
Phillip Webb 9bb53a4c37 Polish 2020-04-23 14:31:49 -07:00
Scott Frederick 8f5ef951de Use current timestamp for index files with Gradle
This commit removes changes the timestamp used when writing the
classpath and layers index files in the Gradle plugin to be the
current timestamp unless `preserveFileTimestamps=true`. It also
polishes some duplication in the handling of entry attributes
when creating the fat archive and adds a test to verify that
the Gradle plugin uses the same fixed timestamp constant as
Gradle uses internally.

See gh-21005
2020-04-23 16:05:32 -05:00
Madhura Bhave b3ccefdb57 Merge branch '2.2.x'
Closes gh-21102
2020-04-23 10:19:10 -07:00
Madhura Bhave 4dc9bbe127 @SpringBootTest classes with different args shouldn't share a context
Fixes gh-20866
2020-04-23 10:18:14 -07:00
Stephane Nicoll ddcd1bc7bb Remove metadata for configuration keys that were removed in 2.0
Closes gh-19706
2020-04-23 16:14:13 +02:00
Stephane Nicoll 623fbcbf8c Polish 2020-04-23 15:20:47 +02:00
Stephane Nicoll 1019dbbc47 Merge branch '2.2.x'
Closes gh-21100
2020-04-23 15:00:22 +02:00
Stephane Nicoll 8ac3ab5551 Add missing metadata for removed configuration keys
Closes gh-20846
2020-04-23 14:39:10 +02:00
Stephane Nicoll 6c02daf2bc Merge branch '2.2.x'
Closes gh-21098
2020-04-23 14:12:37 +02:00
Stephane Nicoll 311952730e Merge branch '2.1.x' into 2.2.x
Closes gh-21097
2020-04-23 14:07:31 +02:00
Stephane Nicoll 291165f060 Order additional metadata according to lexicographic order
Closes gh-21095
2020-04-23 13:58:49 +02:00
Andy Wilkinson d05c973e71 Polish 2020-04-23 11:49:07 +01:00
Stephane Nicoll fe90b2a251 Rename Service Level Agreement to Service Level Objective
This commit harmonizes our integration of Micrometer's Service Level
objectives.

Closes gh-21076
2020-04-23 10:13:17 +02:00
Phillip Webb 48821bccb7 Merge branch '2.2.x'
Closes gh-21092
2020-04-22 16:50:41 -07:00
Phillip Webb d1649fbb9a Merge branch '2.1.x' into 2.2.x
Closes gh-21091
2020-04-22 16:49:33 -07:00
Phillip Webb e0f94f54ac Add "Health as Gauge" how-to documentation
Add how-to documentation describing how health information can be
exported to a Micrometer Gauge.

Closes gh-18329
2020-04-22 16:45:46 -07:00
Madhura Bhave 21bb249a73 Merge branch '2.2.x'
Closes gh-21090
2020-04-22 14:36:36 -07:00
Madhura Bhave b9c2b7b257 Prevent early initialization in MockitoPostProcessor
Fixes gh-20665
2020-04-22 14:35:50 -07:00
Phillip Webb 3e3587e0fb Polish 2020-04-22 12:57:08 -07:00
Phillip Webb 56711d678a Merge branch '2.2.x'
Closes gh-21083
2020-04-22 11:59:22 -07:00
Phillip Webb 102729b5e1 Merge branch '2.1.x' into 2.2.x
Closes gh-21082
2020-04-22 11:58:39 -07:00
Phillip Webb b3d33754a5 Remove outdated FIXMEs from tests
Closes gh-19782
2020-04-22 11:55:35 -07:00
Andy Wilkinson ab82e59aa1 Polish "Improve property name in thrown Micrometer ValidationException"
See gh-21069
2020-04-22 10:16:38 +01:00
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