10329 Commits

Author SHA1 Message Date
Scott Frederick
b27303704f Fix RedisReactiveHealthIndicator in clustered configuration
Prior to Spring Data Redis version 2.2.8, the contents of the
Properties object returned from the
ReactiveRedisConnection.ServerCommands.info API were the same
for clustered and non-clustered Redis configurations, containing a set
of key/value pairs. This allowed ReactiveRedisHealthIndicator to get
a version property using a well-known key. Starting with Spring Data
Redis 2.2.8, the info property keys contain a host:port prefix in a
clustered Redis configuration. This prevented
ReactiveRedisHealthIndicator from getting the version property as
before and resulted in the health always being reported as DOWN.

This commit adjusts ReactiveRedisHealthIndicator to detect the
clustered configuration from Spring Data Redis and find the version
property for one of the reported cluster nodes.

Fixes gh-22061
2020-06-24 13:34:22 -05:00
Andy Wilkinson
fc2e3770de Merge branch '2.2.x' into 2.3.x
Closes gh-22087
2020-06-24 10:52:55 +01:00
Andy Wilkinson
3fed27fd90 Merge branch '2.1.x' into 2.2.x
Closes gh-22085
2020-06-24 10:17:57 +01:00
Andy Wilkinson
0b4533659f Use Groovy's bom in spring-boot-dependencies
Closes gh-22084
2020-06-24 10:17:06 +01:00
Andy Wilkinson
6215336602 Upgrade to Testcontainers 1.14.3
Closes gh-22069
2020-06-23 10:50:18 +01:00
Andy Wilkinson
345d33c6a1 Upgrade to Maven Shade Plugin 3.2.4
Closes gh-22068
2020-06-23 10:50:17 +01:00
Andy Wilkinson
2d779adca6 Upgrade to Maven Resolver 1.4.2
Closes gh-22067
2020-06-23 10:50:15 +01:00
Andy Wilkinson
12d3f14e15 Use bom plugin to configure spring-boot-parent
Closes gh-21439
2020-06-23 10:43:59 +01:00
Phillip Webb
03b0a373ab Merge branch '2.2.x' into 2.3.x
Closes gh-22063
2020-06-22 23:15:48 -07:00
Phillip Webb
e6eb02603c Polish 'Inherit show-details property in health groups'
Rework the inheritance so that the property metadata JSON more
accurately reflects the default value.

See gh-22022
2020-06-22 23:01:37 -07:00
Leo Li
10de88884f Inherit show-details property in health groups
Update `Group` properties so that the `showDetails` value does not
inherit `Show.NEVER`. Prior to this commit, the `Group` properties
would not correctly inherit a `showDetails` value from the main
`management.endpoint.health.show-details` property.

See gh-22022
2020-06-22 22:54:34 -07:00
Phillip Webb
f296f57401 Rename ImageReferenceParser to Regex
Rename `ImageReferenceParser` to `Regex` and remove state. The regular
expressions are now used directly by the `ImageName` and
`ImageReference` classes with the values accessed directly from the
`Matcher`.

See gh-21495
2020-06-22 22:36:46 -07:00
Phillip Webb
9843888714 Merge branch '2.2.x' into 2.3.x
Closes gh-22059
2020-06-22 12:14:35 -07:00
Phillip Webb
3b3a49db1f Polish 'Fix infinite loop in FieldValues'
See gh-22040
2020-06-22 12:01:04 -07:00
Konrado85
39a853c57b Fix infinite loop in FieldValues
Update `FieldValues` test object so that it doesn't cause an infinite
loop if it is actually created.

See gh-22040
2020-06-22 11:58:22 -07:00
Andy Wilkinson
73aa8f1434 Enforce spring-boot-parent's platform dependencies
Closes gh-22047
2020-06-22 09:59:21 +01:00
dreis2211
a6e8561391 Catch more generic FileSystemException in NamedPipeSocket
See gh-22035
2020-06-19 15:41:20 -05:00
Johnny Lim
b218a89862 Remove Javadoc throw for ConfigurationPropertyName.ofIfValid()
See gh-22018
2020-06-19 14:14:57 +02:00
Stephane Nicoll
d5385a7b64 Merge branch '2.2.x' into 2.3.x
Closes gh-22023
2020-06-19 11:37:52 +02:00
Stephane Nicoll
9b803af3c3 Polish "Document how to exclude an annotation processor with Maven"
See gh-22000
2020-06-19 11:36:25 +02:00
Marco Pens
627c0b1031 Document how to exclude an annotation processor with Maven
See gh-22000
2020-06-19 11:35:48 +02:00
Andy Wilkinson
136c9b1af8 Merge branch '2.2.x' into 2.3.x
Closes gh-22020
2020-06-19 08:23:15 +01:00
Andy Wilkinson
1e97ff834e Only consider current context when finding lifecycle processor
Previously, LifecycleAutoConfiguration would check the current context
and all of its ancestors for a lifecycle processor bean, only
configuring a custom processor if one was not found. Every context
has a lifecycle processor so this check meant that lifecycle processing
timeout could not be customized in any context with a parent.

This commit updates the auto-configuration to only check the current
context.

Closes gh-22014
2020-06-19 08:19:57 +01:00
Andy Wilkinson
41173f7c40 Polish "Use Awaitility instead of Thread.sleep"
See gh-21988
2020-06-19 08:18:01 +01:00
Tomek Szmytka
c13385ea74 Use Awaitility instead of Thread.sleep
See gh-21988
2020-06-19 08:17:53 +01:00
Scott Frederick
28643e4d2d Validate image references before passing to CNB builder
Prior to this commit, an image name or run image name derived from
the project name or provided by the user would be passed to the CNB
builder without validation by the Maven plugin build-image goal or
Gradle plugin bootBuildImage task. This could lead to error messages
from the plugins that are difficult to understand and diagnose.

This commit makes parsing of the image names more strict, based on
the grammar implemented by the Docker go library. This provides
validation of the image names before passing them to the builder,
with a more descriptive error message when parsing and validation
fails.

Fixes gh-21495
2020-06-18 15:09:57 -05:00
Andy Wilkinson
67604a5416 Only process main metadata as it already includes additional metadata
Previously, the configuration property table generation was reading
both the main metadata and the additional metadata from each project.
This was unnecessary as the annotation processor will have already
merged the additional metadata into the main metadata before writing
it to disk. Processing both the main and additional metadata led to
a clash as the metadata overlapped. When the entry in the additional
metadata won the clash, the resulting entry in the configuration
property table would lose any details that aren't contained in the
additional metadata.

This commit updates the property table generation code to only use
the main metadata files.

Fixes gh-21131
2020-06-18 15:49:34 +01:00
Andy Wilkinson
ce907b129c Merge branch '2.2.x' into 2.3.x
Closes gh-22010
2020-06-18 11:03:32 +01:00
Andy Wilkinson
1b62abab9a Configure context on SizeAndTimeBasedRollingPolicy
Previously, when file-based logging was enabled, Logback would output
the following during logging system initialization:

LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy

This commit updates the default logback configuration to set the
context on the SizeAndTimeBasedRollingPolicy that it creates.

Fixes gh-21056
2020-06-18 11:01:26 +01:00
Andy Wilkinson
8a7c32fff7 Prevent oauth2-oidc-sdk from downgrading json-smart in Maven projects
Fixes gh-21939
2020-06-18 10:34:12 +01:00
dreis2211
855d596c2a Use lazy lambda instead of explicit argument
See gh-21986
2020-06-18 11:29:49 +02:00
Andy Wilkinson
8f7d71ca11 Merge branch '2.2.x' into 2.3.x 2020-06-18 09:23:21 +01:00
Andy Wilkinson
907b64a5eb Remove redundant stop() calls from LiveReloadServerTests 2020-06-18 09:23:02 +01:00
Madhura Bhave
f4ad30c448 Merge branch '2.2.x' into 2.3.x
Closes gh-22006
2020-06-17 17:26:40 -07:00
Madhura Bhave
615cf63a82 Make MockBean resolve right type for abstract test class
Fixes gh-20916
2020-06-17 17:25:03 -07:00
Andy Wilkinson
2d1dffa3ad Correct additions to spring-boot-starter-parent's pom
Following the fix for gh-21989, spring-boot-starter-parent no longer
contains an <issueManagement> element. As a result the additional
content was no longer being added to the pom. This commit updates
the additions so that they are now added after the <scm> element
that is still present.

See gh-21989
2020-06-17 11:51:54 +01:00
Andy Wilkinson
0de466e06e Require dependency on s-b-dependencies to use its constraints
Previously, Spring Boot's modules published Gradle Module Metadata
(GMM) the declared a platform dependency on spring-boot-dependencies.
This provided versions for each module's own dependencies but also had
they unwanted side-effect of pulling in spring-boot-dependencies
constraints which would influence the version of other dependencies
declared in the same configuration. This was undesirable as users
should be able to opt in to this level of dependency management, either
by using the dependency management plugin or by using Gradle's built-in
support via a platform dependency on spring-boot-dependencies.

This commit reworks how Spring Boot's build uses
spring-boot-dependencies and spring-boot-parent to provide its own
dependency management. Configurations that aren't seen by consumers are
configured to extend a dependencyManagement configuration that has an
enforced platform dependency on spring-boot-parent. This enforces
spring-boot-parent's version constraints on Spring Boot's build without
making them visible to consumers. To ensure that the versions that
Spring Boot has been built against are visible to consumers, the
Maven publication that produces pom files and GMM for the published
modules is configured to use the resolved versions from the module's
runtime classpath.

Fixes gh-21911
2020-06-16 08:50:21 +01:00
Stephane Nicoll
e30b8bf742 Start building against Reactor Dysprosium-SR9 snapshots
See gh-21938
2020-06-16 07:58:28 +02:00
Stephane Nicoll
58974ab9cf Start building against Reactor Dysprosium-SR9 snapshots
See gh-21937
2020-06-16 07:57:31 +02:00
Scott Frederick
6119d69679 Add runImage option for image building
This commit adds a runImage property to the Maven plugin build-image
goal and the Gradle bootBuildImage task. The property allows the user
to override the run image reference provided in the builder metadata
with an alternate run image. The runImage property can be specified
in the build file or on the command line.

Fixes gh-21534
2020-06-15 16:08:56 -05:00
Brian Clozel
a480f6e2ee Polish 2020-06-15 18:21:36 +02:00
Brian Clozel
af2666df79 Fix welcome page support in WebFlux
Prior to this commit, the welcome page support implemented in gh-9785
would override existing index views in both annotation and functional
variants.

This comes from the fact that the feature was implemented as a
`RouterFunction` configured in the main `RouterFunctionMapping` bean.
Due to ordering issues between mappings, this would override existing
application mappings in some cases.

This commit ensures that the welcome page `RouterFunction` is
contributed to the context in its own handler mapping, ordered after the
application ones.

Fixes gh-21909
2020-06-15 18:03:55 +02:00
Stephane Nicoll
7500f0f22d Add section about Kafka metrics support
Closes gh-21910
2020-06-15 09:18:40 +02:00
Stephane Nicoll
ee250e058a Merge branch '2.2.x' into 2.3.x
Closes gh-21916
2020-06-15 08:41:44 +02:00
Stephane Nicoll
ec8c1e3860 Update copyright year of changed files
See gh-21906
2020-06-15 08:39:51 +02:00
lltx
de897b9b72 Fix wrong property reference to keys-to-sanitize in Javadoc
See gh-21906
2020-06-15 08:39:51 +02:00
Stephane Nicoll
676cd10dbf Fix encoding of @Bean in reference documentation
Closes gh-21908
2020-06-15 08:32:26 +02:00
Phillip Webb
1604545727 Ensure AvailabilityChangeEvent carries generics
Update `AvailabilityChangeEvent` to be a `PayloadEvent` and ensure
that the `getResolvableType` method returns a generic compatible
result.

Prior to this commit, a ClassCastExeption would be thrown if the
following event listener was declared:

  @EventListener
  void onEvent(AvailabilityChangeEvent<ReadinessState> event) {
    ...
  }

Closes gh-21898
2020-06-12 10:50:00 -07:00
Phillip Webb
069d2769f4 Reinstate disabled Reactor Netty test
Reinstate test now that we are on a reactor-netty releases that fixes
reactor/reactor-netty issue 1093.

Closes gh-21437
2020-06-11 14:52:21 -07:00
Phillip Webb
2a37b2e258 Refine PropertiesLauncher close logic
Further attempt to fix Windows file issues.

See gh-21575
2020-06-11 13:25:56 -07:00