Commit Graph

2130 Commits

Author SHA1 Message Date
Madhura Bhave 302ba77812 Improve documentation regarding git commit info
Closes gh-24205
2020-12-18 17:13:30 -08:00
Phillip Webb f568aa489c Fixup title anchors 2020-12-18 15:06:11 -08:00
Madhura Bhave 01537bc54f Merge branch '2.3.x' into 2.4.x
Closes gh-24565
2020-12-18 14:16:45 -08:00
Madhura Bhave c9a09cf6a9 Clarify when SpEL expressions in application properties are evaluated
Closes gh-24531
2020-12-18 14:15:27 -08:00
Madhura Bhave 55d9951d90 Merge branch '2.3.x' into 2.4.x
Closes gh-24563
2020-12-18 14:05:20 -08:00
Madhura Bhave 1db271c2c5 Reorder documentation about building images
Closes gh-24560
2020-12-18 14:02:29 -08:00
Andy Wilkinson a67edfbeb7 Merge branch '2.3.x' into 2.4.x
Closes gh-24518
2020-12-15 17:21:39 +00:00
Andy Wilkinson 76198f9a8d Include properties from test-autoconfigure in config props appendix
Closes gh-24486
2020-12-15 17:20:21 +00:00
Stephane Nicoll 251e8b2640 Update instruction to add the configuration processor with Maven
Closes gh-24498
2020-12-15 14:48:19 +01:00
Stephane Nicoll 96510156ae Merge branch '2.3.x' into 2.4.x
Closes gh-24495
2020-12-14 16:19:50 +01:00
Stephane Nicoll 26e7e61919 Merge branch '2.2.x' into 2.3.x
Closes gh-24494
2020-12-14 16:19:23 +01:00
Stephane Nicoll 60f526add0 Remove links to Jetty API and documentation
This commit removes links to Jetty API and documentation as those links
are breaking every time the Jetty team releases a new version

See https://github.com/eclipse/jetty.project/issues/4546

Closes gh-24493
2020-12-14 16:17:25 +01:00
Stephane Nicoll 08b692581a Prepare 2.4.x branch 2020-12-14 14:22:07 +01:00
izeye 0eae6b4f72 Polish
See gh-24418
2020-12-10 13:53:06 +01:00
Phillip Webb b48f4028a3 Merge branch '2.3.x' 2020-12-08 16:32:45 -08:00
Phillip Webb 30717b6ae3 Merge branch '2.2.x' into 2.3.x 2020-12-08 16:32:26 -08:00
Phillip Webb 4f95486822 Polish note about Maven/Gradle restarts
See gh-24271
2020-12-08 16:31:46 -08:00
Phillip Webb b9e87a4ab2 Merge branch '2.3.x'
Closes gh-24410
2020-12-08 16:25:16 -08:00
Phillip Webb 445c6b8aa6 Merge branch '2.2.x' into 2.3.x
Closes gh-24409
2020-12-08 16:25:03 -08:00
Phillip Webb 10d3121e27 Polish "Triggering a restart" formatting
See gh-24271
2020-12-08 16:24:18 -08:00
Billy T. Hernandez 0503079dc5 Document devtools restart with Maven/Gradle
Update the documentation to help avoid confusion for people who aren't
using an IDE.

See gh-24271
2020-12-08 16:20:32 -08:00
Phillip Webb 3618bddf51 Merge branch '2.3.x'
Closes gh-24408
2020-12-08 16:15:31 -08:00
Phillip Webb 06531b9b71 Merge branch '2.2.x' into 2.3.x
Closes gh-24407
2020-12-08 16:08:32 -08:00
Phillip Webb 89642f0ce8 Add link to appendix from error handling
Improve documentation by adding a link from the "Error Handling" section
to the appendix.

Closes gh-24265
2020-12-08 16:06:21 -08:00
Phillip Webb cd5ff6e4af Merge branch '2.3.x'
Closes gh-24404
2020-12-08 12:13:02 -08:00
Phillip Webb 11f285bde5 Merge branch '2.2.x' into 2.3.x
Closes gh-24403
2020-12-08 12:12:51 -08:00
izeye 8c55803931 Polish
See gh-24306
2020-12-08 12:08:35 -08:00
Stephane Nicoll 93d83342d2 Merge branch '2.3.x'
Closes gh-24401
2020-12-08 15:42:52 +01:00
Stephane Nicoll 06671aa50e Stop deferring JPA bootstrap mode by default
This commit changes the default value of bootstrap-mode to "default"
rather than "deferred" so that the JPA infrastructure starts in the
main thread rather than asynchronously.

Closes gh-24249
2020-12-08 15:42:14 +01:00
dreis2211 b9ec88a7a5 Fix Asciidoc build step
See gh-24326
2020-12-03 16:30:16 -08:00
Madhura Bhave d041c7d6b9 Document the granularity for property document imports
Closes gh-22987
2020-12-03 12:17:53 -08:00
Madhura Bhave 932fb65107 Correct external application properties load order
Fixes gh-24308
2020-12-03 11:55:51 -08:00
Stephane Nicoll f3afd8a0f4 Fix location of Spring LDAP and Spring Session properties
Closes gh-23558
2020-11-18 10:28:54 +01:00
Stephane Nicoll 7283ff04eb Merge branch '2.3.x'
Closes gh-24162
2020-11-16 07:21:19 +01:00
Sergey Kolesnikov b341b478a6 Rename "sla" to "slo" in reference documentation
See gh-24160
2020-11-16 07:20:23 +01:00
Andy Wilkinson 6df10842d2 Allow Devtools to be enabled irrespective of the launching ClassLoader
Closes gh-21424
2020-11-12 13:22:40 +00:00
Andy Wilkinson 368b40868f Merge branch '2.3.x'
Closes gh-24122
2020-11-11 20:16:51 +00:00
Andy Wilkinson 3e243de41b Merge branch '2.2.x' into 2.3.x
Closes gh-24121
2020-11-11 20:16:39 +00:00
dreis2211 033c78b945 Fix link to Flyway callback docs
See gh-24119
2020-11-11 20:14:08 +00:00
Brian Clozel f0a6128db3 Add spring.web.resources.cache.use-last-modified
Prior to this commit, packaging a Spring Boot application as a container
image with Cloud Native Buildpacks could result in unwanted browser
caching behavior, with "Last-Modified" HTTP response headers pointing to
dates in the far past.

This is due to CNB resetting the last-modified date metadata for static
files (for build reproducibility and container layer caching) and Spring
static resource handling relying on that information when serving static
resources.

This commit introduces a new configuration property
`spring.web.resources.cache.use-last-modified` that can be used to
disable this behavior in Spring if the application is meant to run as a
container image built by CNB.

The default value for this property remains `true` since this remains
the default value in Spring Framework and using that information in
other deployment models is a perfectly valid use case.

Fixes gh-24099
2020-11-10 13:40:25 +01:00
Andy Wilkinson 6a2332d477 Merge branch '2.3.x'
Closes gh-24062
2020-11-05 15:55:09 +00:00
Andy Wilkinson 44d0ce5ff1 Merge branch '2.2.x' into 2.3.x
Closes gh-24060
2020-11-05 15:53:53 +00:00
Andy Wilkinson 9c5d1646bd Show how to configure a case-sensitive physical naming strategy
Closes gh-24045
2020-11-05 15:53:32 +00:00
Andy Wilkinson bb5faeaabe Correct cross-reference in reference documentation
See gh-24033
2020-11-04 21:09:10 +00:00
Andy Wilkinson 21eb46739c Merge branch '2.3.x'
Closes gh-24033
2020-11-04 17:45:30 +00:00
Andy Wilkinson 84cee76700 Merge branch '2.2.x' into 2.3.x
Closes gh-24032
2020-11-04 17:42:24 +00:00
Andy Wilkinson d5980be623 Clarify documentation for relaxed binding of environment variables
Closes gh-22974
2020-11-04 17:40:27 +00:00
Andy Wilkinson a1af99640e Merge branch '2.3.x'
Closes gh-24026
2020-11-04 10:15:26 +00:00
Andy Wilkinson 28f7bc37a5 Merge branch '2.2.x' into 2.3.x
Closes gh-24025
2020-11-04 10:15:07 +00:00
Andy Wilkinson c289ba0c2c Recommend disabling context root redirects with proxied Tomcat
Closes gh-22908
2020-11-04 10:13:55 +00:00
Andy Wilkinson 2814f91fbf Merge branch '2.3.x'
Closes gh-24022
2020-11-03 20:33:08 +00:00
Andy Wilkinson 7c209478b6 Merge branch '2.2.x' into 2.3.x
Closes gh-24021
2020-11-03 20:32:57 +00:00
Pascal Schumacher 5472fcf433 Fix typo in Spring Session documentation
See gh-24020
2020-11-03 20:31:42 +00:00
Andy Wilkinson 6cb5a98036 Merge branch '2.3.x'
Closes gh-24019
2020-11-03 19:43:28 +00:00
Andy Wilkinson b2a058b6fe Merge branch '2.2.x' into 2.3.x
Closes gh-24018
2020-11-03 19:43:15 +00:00
Andy Wilkinson 2f280b01e1 Improve Spring Session back-off documentation
Closes gh-23151
2020-11-03 19:42:57 +00:00
Andy Wilkinson 73c444262b Merge branch '2.3.x'
Closes gh-24015
2020-11-03 16:38:49 +00:00
Andy Wilkinson f9ff39a7a6 Merge branch '2.2.x' into 2.3.x
Closes gh-24014
2020-11-03 16:38:33 +00:00
Andy Wilkinson 35bff55097 Ensure that Quartz can be auto-configured with a Quartz-specific TM
Previously, Quartz could be configured with a specific DataSource
using `@QuartzDataSource` but it was not possible to configure a
Quartz-specific transaction manager. This could result in the
different DataSources being used by Quartz itself and Quart'z
DataSourceTransactionManager.

This commit introduces a new qualifier, `@QuartzTransactionManager`,
that can be used to avoid the above-described problem. Any
`@QuartzTransactionManager`-annotated bean will be used by the
Quartz auto-configure configuration instead of the application's main
`TransactionManager`. If no such qualified bean is present, the
application's main TransactionManager, if any, will be used as before.

Fixes gh-20184
2020-11-03 15:56:44 +00:00
Andy Wilkinson c76b246463 Merge branch '2.3.x'
Closes gh-24005
2020-11-03 10:17:17 +00:00
Andy Wilkinson b846143c37 Merge branch '2.2.x' into 2.3.x
Closes gh-24004
2020-11-03 10:17:00 +00:00
Andy Wilkinson d32d65b02c Add tip about providing as much typo info as possible in @Bean methods
Closes gh-22925
2020-11-03 10:16:20 +00:00
izeye 9c35cd41ad Polish
See gh-23986
2020-11-01 17:07:50 +01:00
Andy Wilkinson c22e655848 Move spring.resources.* properties to spring.web.resources.*
Closes gh-23917
2020-10-29 16:08:50 +00:00
Andy Wilkinson 2db8e7eebe Polish "Add liquibase driver class name property"
See gh-23958
2020-10-29 10:06:43 +00:00
Stephane Nicoll 93e36a97ab Remove version elements from Maven plugin documentation
This commit removes `<version>` from the Maven Plugin documentation
where it makes sense so that versions aren't hardcoded unnecessarily.

Rather, a plugin or dependency management should be in place so those
are not needed.

Closes gh-23909
2020-10-28 13:39:03 +01:00
Phillip Webb cf673cee55 Use stricter document properties separator logic
Update `OriginTrackedPropertiesLoader` with stricter logic around the
document separator. If the preceding or following lines are comments
then the separator will be ignored.

Closes gh-22963
2020-10-27 21:43:44 -07:00
Phillip Webb a0862f9146 Support wildcard configtree imports
Update `ConfigTreeConfigDataResource` so that a wildcard suffix can
be used to import multiple folders. The pattern logic from
`StandardConfigDataLocationResolver` has been extracted into a new
`LocationResourceLoader` class so that it can be reused.

Closes gh-22958
2020-10-27 14:14:23 -07:00
Andy Wilkinson 689d0c8307 Remove skipping of spring-boot-* projects from DevTools restart triggers
Closes gh-23158
2020-10-27 12:09:17 +00:00
Stephane Nicoll 9ab3abb728 Add support for SAML2 relying party registration's decryption credentials
Closes gh-23705
2020-10-26 15:43:35 +01:00
Andy Wilkinson 10f887a5ad Introduce management base-path property for servlet and reactive actuator
Previously, the base path of a servlet-based management server could be
configured using management.server.servlet.context-path but there was no
equivalent property for WebFlux.

This commit introduces a new property, management.server.base-path,
that can be used with both servlet and reactive management servers. The
existing servlet-specific property has been deprecated in favour of the
new general property. When using the servlet stack, if both the general
property and the servlet-specific property are set, the new general
property takes precedence. When using the reactive stack, only the new
general property is considered.

Closes gh-22906
2020-10-26 14:16:29 +00:00
Stephane Nicoll e0f123e676 Do not use servlet session timeout for reactive web applications
This commit fixes the auto-configuration of Spring Session to use
"server.servlet.session.timeout" as a fallback for Servlet-based web
applications only.

Closes gh-23752
2020-10-26 11:58:49 +01:00
Phillip Webb 062bd90d87 Add properties for logging charsets
Add `logging.charset.console` and `logging.charset.file` properties
that can be used to configure charsets for Logback/Log4J2.

Closes gh-23827
2020-10-23 18:54:24 -07:00
Brian Clozel fa220ace4d Fix missing broken link in reference docs
See gh-23126
2020-10-23 13:11:03 +02:00
Brian Clozel 5fceb9d5b7 Change favicon StaticResourceLocation
Prior to this commit, the `StaticResourceLocation` for favicons would
point to `"/**/favicon.ico"`. This location does not reflect the current
web development landscape, since the png format and size variants are
not supported here. Also, the `"**"` pattern can be costly at runtime
and is deprecated by the new path pattern support in Spring Framework
(see gh-22833).

This commit changes the default locations to `"/favicon.*","/*/icon-*"`,
supporting common use cases such as `"/favicon.ico"`, `"/favicon.png"`
and `"/icons/icon-48x48.png"`.

Closes gh-23126
2020-10-23 12:03:32 +02:00
Pushkaraj S e60f26f8cc Polish HTTP/2 Cleartext documentation
See gh-23816
Closes gh-23820
2020-10-23 09:50:55 +02:00
Phillip Webb 1725594a0e Rationalize Logback logging properties
Deprecate and provide alternatives for logging properties that are
specific to Logback.

The following Spring Boot properties have been changed:

  * logging.pattern.rolling-file-name ->
    logging.logback.rollingpolicy.file-name-pattern

  * logging.file.clean-history-on-start ->
    logging.logback.rollingpolicy.clean-history-on-start

  * logging.file.max-size ->
    logging.logback.rollingpolicy.max-file-size

  * logging.file.total-size-cap ->
    logging.logback.rollingpolicy.total-size-cap

  * logging.file.max-history ->
    logging.logback.rollingpolicy.max-history

As have the system environment properties that they map to:

  * ROLLING_FILE_NAME_PATTERN ->
    LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN

  * LOG_FILE_CLEAN_HISTORY_ON_START ->
    LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START

  * LOG_FILE_MAX_SIZE ->
    LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE

  * LOG_FILE_TOTAL_SIZE_CAP ->
    LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP

  * LOG_FILE_MAX_HISTORY ->
    LOGBACK_ROLLINGPOLICY_MAX_HISTORY

This commit also cleans up and simplifies `DefaultLogbackConfiguration`.

Closes gh-23609
2020-10-22 12:55:02 -07:00
Brian Clozel 9c54a5369d Merge branch '2.3.x'
Closes gh-23816
2020-10-22 21:40:22 +02:00
Brian Clozel b37eecc015 Merge branch '2.2.x' into 2.3.x
Closes gh-23812
2020-10-22 20:16:01 +02:00
Brian Clozel 9478cd2dfb Document how to configure h2c protocol
Prior to this commit, the how-to documentation would say that Spring
Boot does not support the h2c protocol. While it's not supported
out-of-the-box with a configuration property, this protocol can still be
configured using server customizers.

This commit documents, with code snippets, the server customizers one
should use to configure the h2c protocol in an application - for each
supported server.

Closes gh-21997
2020-10-22 20:04:35 +02:00
Stephane Nicoll 52f2c27779 Merge branch '2.3.x'
Closes gh-23765
2020-10-20 17:06:28 +02:00
Stephane Nicoll 4371a3c080 Merge branch '2.2.x' into 2.3.x
Closes gh-23764
2020-10-20 17:05:49 +02:00
Stephane Nicoll 4f4cc8b182 Polish contribution
See gh-23755
2020-10-20 16:56:30 +02:00
cdalexndr 2f2b1b9656 Note that using LiveReload requires Devtools restart to be enabled
See gh-23755
2020-10-20 16:53:49 +02:00
Stephane Nicoll dd74810c80 Revert "Fix detection logic for embedded databases"
This reverts commit c4a5a34702.

See gh-23721
2020-10-19 12:25:00 +02:00
dreis2211 47bac6a90d Fix links to Spring Framework documentation
See gh-23737
2020-10-19 08:13:24 +02:00
Asha Somayajula c4a5a34702 Fix detection logic for embedded databases
Closes gh-23721
2020-10-17 07:51:24 +02:00
Andy Wilkinson f0b0a073c3 Remove unwanted titles from config blocks
Closes gh-23722
2020-10-16 17:43:57 +01:00
Stephane Nicoll c0b267feb4 Polish "Fix detection logic for embedded databases"
See gh-23693
2020-10-16 16:32:29 +02:00
Phillip Webb 1cf9fc107e Improve ConfigData processing code
Refactor `ConfigData` processing code to make it less awkward to
follow.

Prior to this commit the `ConfigDataLocationResolver` would take a
String location and return a `ConfigDataLocation` instance. This was
a little confusing since sometimes we would refer to `location` as the
String value, and sometimes it would be the typed instance. We also
had nowhere sensible to put the `optional:` prefix logic and we needed
to pass a `boolean` parameter to a number of methods. The recently
introduced `Orgin` support also didn't have a good home.

To solve this, `ConfigDataLocation` has been renamed to
`ConfigDataResource`. This frees up `ConfigDataLocation` to be used
as a richer `location` type that holds the String value, the `Orgin`
and provides a home for the `optional:` logic.

This commit also cleans up a few other areas of the code, including
renaming `ResourceConfigData...` to `StandardConfigData...`. It also
introduces a new exception hierarchy for `ConfigDataNotFoundExceptions`.

Closes gh-23711
2020-10-15 11:33:57 -07:00
Stephane Nicoll a5b27789c0 Document how to use DataNeo4jTest with reactive access
Closes gh-23630
2020-10-14 14:04:58 +02:00
Stephane Nicoll 27af908b99 Note that a Neo4j reactive transaction manager is not auto-configured
Closes gh-23629
2020-10-14 13:39:38 +02:00
Johnny Lim 4a26e11268 Polish
See gh-23634

Closes gh-23634
2020-10-13 12:44:00 -07:00
Stephane Nicoll 34c4c3f235 Expose cache metrics for Redis
This commit adds support for Redis cache metrics. Users can opt-in for
statistics using the "spring.cache.redis.enable-statistics" property.

Closes gh-22701
2020-10-09 09:03:23 +02:00
Phillip Webb 745e22e508 Merge branch '2.3.x' into master
Closes gh-23612
2020-10-07 11:05:53 -07:00
Phillip Webb 61181b4554 Merge branch '2.2.x' into 2.3.x
Closes gh-23611
2020-10-07 11:05:22 -07:00
Phillip Webb c523295694 Merge branch '2.1.x' into 2.2.x
Closes gh-23610
2020-10-07 11:04:39 -07:00
Phillip Webb 206356728c Add upgrading section to reference docs
Add a section to the reference documentation with links to the release
notes on the wiki.

Closes gh-23529
2020-10-07 11:04:20 -07:00
Stephane Nicoll 1296b4dfe6 Revert "Support constructor binding on 3rd party classes"
This commit reverts the support of constructor binding on 3rd party
classes using @ImportConfigurationPropertiesBean

See gh-23172

Closes gh-23593
2020-10-07 10:53:01 +02:00
Phillip Webb 2595258494 Provide both properties and YAML examples in docs
Update all configuration examples in the docs to YAML and make use of
the new `configblocks` spring-asciidoctor-extensions feature to
automatically create both "Properties" and "Yaml" versions.

Closes gh-23515
2020-10-06 19:27:41 -07:00
Phillip Webb 18e4ab5042 Use title case for config props appendix
Closes gh-23603
2020-10-06 19:25:26 -07:00
Stephane Nicoll 797c12e75d Merge branch '2.3.x'
Closes gh-23573
2020-10-02 09:34:49 +02:00
Thorasine 6c3dfac1d0 Fix typos
See gh-23561
2020-10-02 09:32:26 +02:00
Madhura Bhave ae7de284f4 Merge branch '2.3.x'
Closes gh-23568
2020-10-01 17:20:33 -07:00
Madhura Bhave 121ba2b0ab Merge branch '2.2.x' into 2.3.x
Closes gh-23567
2020-10-01 17:16:37 -07:00
ketaki-t 66aa24b5f0 Remove documentation for unsupported gradle versions
See gh-23562
2020-10-01 17:13:26 -07:00
Stephane Nicoll 75554ce236 Polish "Add support for Oracle UCP"
See gh-23403
2020-09-29 16:09:55 +02:00
Stephane Nicoll 4009acf025 Add support for Hazelcast
This commit upgrades to Hazelcast 4.0.3, yet keeping compatibility with
Hazelcast 3.x.

Closes gh-20856
Closes gh-23475
2020-09-24 15:57:07 +02:00
thorasine 2d74aef6ef Fix typos
See gh-23465
2020-09-24 11:42:05 +02:00
Stephane Nicoll c44e1ec0ad Merge branch '2.3.x'
Closes gh-23462
2020-09-23 14:36:59 +02:00
Stephane Nicoll b3c5588c86 Merge branch '2.2.x' into 2.3.x
Closes gh-23461
2020-09-23 14:36:41 +02:00
Pavel Gordon 62eb835a4e Fix link to Log4j's JDK Logging Adapter in reference documentation
See gh-23459
2020-09-23 14:36:00 +02:00
thorasine 9955dac316 Fix typo
See gh-23456
2020-09-23 14:20:51 +02:00
Stephane Nicoll 7d984d7f89 Merge branch '2.3.x'
Closes gh-23453
2020-09-22 16:45:32 +02:00
Stephane Nicoll 3adf06df17 Merge branch '2.2.x' into 2.3.x
Closes gh-23452
2020-09-22 16:45:08 +02:00
Stephane Nicoll 2999f09a40 Rework tip on templates location in the IDE
This commit rework the tip on locating templates when running the app
in the IDE. Using classpath* should not change anything as this won't
make a difference without a pattern in the path.

Closes gh-23068
2020-09-22 16:44:16 +02:00
Stephane Nicoll 531690b8e1 Merge branch '2.2.x' into 2.3.x
Closes gh-23448
2020-09-22 15:21:04 +02:00
Stephane Nicoll 7f84a92ef1 Document that Java 15 is supported
Closes gh-23447
2020-09-22 15:19:47 +02:00
Stephane Nicoll 1631ae23f5 Allow RestTemplateBuilder to be further customized
Closes gh-23389
2020-09-22 14:07:43 +02:00
dreis2211 5c4b4b0466 Document that Java 15 is a supported version
See gh-22366
2020-09-16 15:35:02 +02:00
Phillip Webb 5f49d4a8d7 Rename @ConfigurationPropertiesImport
Rename `@ConfigurationPropertiesImport` to
`@ImportAsConfigurationPropertiesBean` and also refine the registrar
so that it can be used with type directly annotated with
`@ConfigurationProperties`.

Closes gh-23172
2020-09-15 11:36:00 -07:00
Phillip Webb c857a743a0 Rename @ImportConfigurationPropertiesBean
Rename `@ImportConfigurationPropertiesBean` to
`@ConfigurationPropertiesImport`.

Closes gh-23172
2020-09-14 19:35:10 -07:00
Stephane Nicoll f03ed3b2a7 Publish single page doc to /htmlsingle consistently
Closes gh-21585
2020-09-11 16:05:57 +02:00
Brian Clozel 20eb8d0fc2 Merge branch '2.3.x'
Closes gh-23253
2020-09-11 11:45:23 +02:00
Brian Clozel 62cb87bd95 Merge branch '2.2.x' into 2.3.x
Closes gh-23252
2020-09-11 11:42:32 +02:00
David Good 775f0fa861 Improve sanitization for list of URI types
Prior to this commit, Actuator would sanitize properties values when
serializing them on the dedicated endpoint. Keys like "password" or
"secret" are entirely sanitized, but other keys like "uri" or "address"
are considered as URI types and only the password part of the user info
is sanitized.

This commit fixes the sanitization process where lists of such URI types
would not match the first entries of the list since they're starting
with `'['`. This commit improves the regexp matching process to sanitize
all URIs within a collection.

The documentation is also updated to better underline the processing
difference between complete sanitization and selective sanitization for
URIs.

Fixes gh-23037
2020-09-11 11:34:38 +02:00
Andy Wilkinson e743d5fe66 Exclude by jar type when running and packaging with Maven
This commit updates the Maven Plugin to filter dependencies based on
the Spring-Boot-Jar-Type entry in their manifest. Jars with a
Spring-Boot-Jar-Type of dependencies-starter or annotation-processor
are excluded.

See gh-22036
2020-09-10 14:38:19 +01:00
Andy Wilkinson dd024048e9 Merge branch '2.3.x'
Closes gh-23244
2020-09-10 11:18:31 +01:00
Andy Wilkinson aab4ee9aa2 Merge branch '2.2.x' into 2.3.x
Closes gh-23243
2020-09-10 11:15:03 +01:00
Andy Wilkinson e4691a4c61 Document that sliced tests don't scan @ConfigurationProperties beans
Closes gh-23210
2020-09-10 11:14:28 +01:00
Phillip Webb f260c77fe3 Add @ImportConfigurationPropertiesBean support
Add repeatable `@ImportConfigurationPropertiesBean` annotation that can
be used to import types and treat them as `@ConfigurationProperties`
beans. This annotation is specifically designed to support third-party
classes that can't contain any Spring annotations.

Closes gh-23172
2020-09-09 22:05:49 -07:00
Phillip Webb df944c6354 Polish 2020-09-08 11:19:33 -07:00
Stephane Nicoll b9b7393053 Deprecate Cassandra health indicators that rely on Spring Data
With the introduction of health indicators that only require the
CqlSession, this commit deprecates the health indicators that require
Spring Data since the latter build on top of the former.

Closes gh-23226
2020-09-08 14:39:37 +02:00
Brian Clozel 1d73d4eda7 Remove Elasticsearch RestClient auto-configuration
Prior to this commit, Spring Boot would auto-configure both
Elasticsearch variants: `RestClient` ("Low Level" client) and
`RestHighLevelClient` ("High Level" client).
Since one can be derived from the other, this would create complex and
unclear situations depending on what developers provided with their
configuration.

`RestHighLevelClient` is mostly for actual use of the Elasticsearch API,
with support for specific methods and (de)serialization. On the other
hand, `RestClient` is merely wrapping the Apache HTTP client for
load-balancing support and low level HTTP features.

This commit completely removes the support for `RestClient` in Spring
Boot and now requires the presence of the
`org.elasticsearch.client:elasticsearch-rest-high-level-client`
dependency for REST client support with Elasticsearch.

Closes gh-22358
2020-09-08 10:17:27 +02:00
Spencer Gibb 27136cda44 Fix typo
See gh-23215
2020-09-08 08:36:12 +02:00
Brian Clozel 676e1809fb Add startup Actuator endpoint
This commit builds on top of gh-22603 and exposes data collected by the
`BufferingApplicationStartup` on a dedicated `"/startup"` Actuator
endpoint.

Closes gh-23213
2020-09-07 18:04:48 +02:00
Brian Clozel fdf21da7ba Add buffering ApplicationStartup variant
As of spring-projects/spring-framework#24878, Spring Framework provides
an `ApplicationStartup` infrastructure that applications can use to
collect and track events during the application startup phase.

This commit adds a new `BufferingApplicationStartup` implementation that
buffer `StartupStep`s and tracks their execution time. Once buffered,
these steps can be pushed to an external metrics system or drained
through a web endpoint, to a file...

Closes gh-22603
2020-09-07 18:04:31 +02:00
Stephane Nicoll 29b5c4f8cb Merge branch '2.3.x'
Closes gh-23145
2020-08-31 11:34:09 +02:00
Stephane Nicoll 8404c4c71b Document how to perform tasks after application startup
Closes gh-22100
2020-08-31 11:33:27 +02:00
Stephane Nicoll dee3fad8d0 Merge branch '2.3.x'
Closes gh-23144
2020-08-31 11:19:55 +02:00
Stephane Nicoll e74e53fdaf Clarify how to take full control of ElasticSearch's rest client
Closes gh-23074
2020-08-31 11:19:36 +02:00
Stephane Nicoll 1fea6914bc Merge branch '2.3.x'
Closes gh-23142
2020-08-31 09:59:40 +02:00
Stephane Nicoll 62dbd90d46 Document how to add auto-configurations to a test slice
Closes gh-22531
2020-08-31 09:58:56 +02:00
Stephane Nicoll 8bcae12ffc Merge branch '2.3.x'
Closes gh-23140
2020-08-31 09:40:42 +02:00
Stephane Nicoll 008eee42a1 Add a note about using graceful shutdown from an IDE
Closes gh-22959
2020-08-31 09:38:21 +02:00
Phillip Webb 0ddd1b6ce8 Refine global optional config data opt-out
Rename the opt-out property and use an enum in case we want to provide
additional options in the future.

Closes gh-23097
2020-08-28 16:30:39 -07:00
Phillip Webb aa0f204732 Add global optional config data opt-out
Support a `spring.config.all-locations-optional` property which can be
set to `true` if all config data locations should be considered
optional.

Closes gh-23097
2020-08-26 20:11:40 -07:00
Phillip Webb d0fce0553f Support extensionless file imports
Update `ResourceConfigDataLocationResolver` so that it can import files
that have no file extension.

Closes gh-22280
2020-08-25 13:57:10 -07:00
Phillip Webb 081a7ee28c Throw exception if import locations are not found
Update config data processing code so that import locations are
mandatory by default. Any import request will now throw a
`ConfigDataLocationNotFoundException` if the specified import
location cannot be found. For optional imports, the user can
use the `optional:` prefix to indicate that the application should
continue to start, even if the location does not exist.

Closes gh-23032
2020-08-25 12:56:55 -07:00
Stephane Nicoll 65a5994354 Merge branch '2.3.x'
Closes gh-23061
2020-08-24 11:57:42 +02:00
Stephane Nicoll 39dc2e7de4 Merge branch '2.2.x' into 2.3.x
Closes gh-23060
2020-08-24 11:57:22 +02:00
Stephane Nicoll f1455b156a Polish "Add example of custom Actuator operations"
See gh-23028
2020-08-24 11:56:31 +02:00
Ivo Smid e8de069e00 Add example of custom Actuator operations
See gh-23028
2020-08-24 11:37:00 +02:00
Stephane Nicoll d04f2583f1 Merge branch '2.3.x'
Closes gh-23005
2020-08-19 10:09:43 +02:00
Stephane Nicoll 9a374f7d67 Merge branch '2.2.x' into 2.3.x
Closes gh-23004
2020-08-19 10:09:22 +02:00
dreis2211 06eb7e9777 Mention correct JUnit 5 annotations in Kotlin testing section
See gh-23002
2020-08-19 10:07:40 +02:00
Scott Frederick 341615d7d0 Merge branch '2.3.x'
Closes gh-23000
2020-08-18 17:07:25 -05:00
Scott Frederick 3f80638a36 Fail on layertools extract with launch script
This commit adds a check to the `layertools extract` command to
ensure that the jar file being processed is readable and has a
valid directory.

Fixes gh-22993
2020-08-18 17:06:31 -05:00
Scott Frederick b7fdf8fe87 Preserve user-provided values in MongoClientSettings
Prior to this commit, values from MongoProperties would always
overwrite matching fields in MongoClientSettings. This commit
preserves all values in MongoClientSettings if the client app
provides the MongoClientSettings bean, and only overwrites from
MongoProperties if no MongoClientSettings bean is provided.

Fixes gh-22321
2020-08-17 16:07:40 -05:00
Stephane Nicoll 8c0318edc7 Polish "Consider RecordFilterStrategy in Kafka auto-configuration"
See gh-22973
2020-08-17 13:54:20 +02:00
dreis2211 61838eede1 Fix typos in docs
See gh-22945
2020-08-17 13:27:46 +02:00
Stephane Nicoll 80e9bfb9a6 Merge branch '2.3.x' 2020-08-17 13:26:58 +02:00
Stephane Nicoll 6b679b7d64 Polish
See gh-22945
2020-08-17 13:24:51 +02:00
Phillip Webb 5591a6ab77 Merge branch '2.3.x'
Closes gh-22961
2020-08-14 15:11:47 -07:00
Phillip Webb 03d4b89c06 Merge branch '2.2.x' into 2.3.x
Closes gh-22960
2020-08-14 15:11:23 -07:00
Maciej Walkowiak 15de956566 Fix typo `Assert4J` -> `AssertJ`
See gh-22948
2020-08-14 15:09:56 -07:00
Madhura Bhave bbbbe8e4d2 Make security auto-configs back off when SecurityFilterChain present
Closes gh-22739
2020-08-14 12:24:25 -07:00
Phillip Webb 310ef6e999 Rename volumemount -> configtree
Closes gh-22941
2020-08-13 13:28:25 -07:00
Stephane Nicoll 045d2f678d Document Spring Data Neo4j 6 support
Closes gh-22652
2020-08-13 17:51:39 +02:00
Stephane Nicoll 42ca62b2e7 Merge branch '2.3.x'
Closes gh-22931
2020-08-13 11:49:03 +02:00
Stephane Nicoll df78105a3c Merge branch '2.2.x' into 2.3.x
Closes gh-22930
2020-08-13 11:48:43 +02:00
Stephane Nicoll f61a632a37 Polish "Fix conditions that lead to auto-configure PushGateway"
See gh-22919
2020-08-13 11:47:43 +02:00
smlc c355b95f6c Fix conditions that lead to auto-configure PushGateway
See gh-22919
2020-08-13 11:41:49 +02:00
Stephane Nicoll 2c120eb161 Merge branch '2.3.x'
Closes gh-22900
2020-08-12 09:51:44 +02:00
Stephane Nicoll 38baaf31d3 Merge branch '2.2.x' into 2.3.x
Closes gh-22899
2020-08-12 09:51:25 +02:00
Stephane Nicoll ee2363fca7 Polish "Harmonize Discover the HTTP Port at Runtime How-To"
See gh-22898
2020-08-12 09:50:44 +02:00
John Franco 303768b2b5 Harmonize Discover the HTTP Port at Runtime How-To
See gh-22898
2020-08-12 09:48:57 +02:00
Madhura Bhave 4799b26d2c Merge branch '2.3.x'
Closes gh-22897
2020-08-11 12:25:48 -07:00
Madhura Bhave eeca767c49 Merge branch '2.2.x' into 2.3.x
Closes gh-22895
2020-08-11 12:22:43 -07:00
Madhura Bhave cdbb7f441a Do not ignore null/empty values from SPRING_APPLICATION_JSON
Fixes gh-21542
2020-08-11 12:22:08 -07:00
Stephane Nicoll 8bcf5186dc Merge branch '2.3.x'
Closes gh-22891
2020-08-11 16:51:58 +02:00
Stephane Nicoll 92445fcc54 Merge branch '2.2.x' into 2.3.x
Closes gh-22890
2020-08-11 16:51:34 +02:00
Stephane Nicoll ccffd50285 Document the limitation of default value detection
Closes gh-22685
2020-08-11 16:51:00 +02:00
Stephane Nicoll 64a5aa9340 Polish 2020-08-11 16:41:47 +02:00
Stephane Nicoll 44e807738b Merge branch '2.3.x'
Closes gh-22889
2020-08-11 15:54:03 +02:00
Stephane Nicoll ac7320d7fe Document that Cassandra's application.conf is not considered
Closes gh-21787
2020-08-11 15:53:06 +02:00
Stephane Nicoll 5bd69fcd61 Merge branch '2.3.x'
Closes gh-22874
2020-08-11 13:40:21 +02:00
Stephane Nicoll dc4de06b35 Restore customization of the Couchbase cache manager
With the upgrade to the new Couchbase SDK and the related changes in
Spring Data Couchbase, CacheManagerCustomizer can no longer be used to
customize the Couchbase cache manager as it is an immutable class.

This commit introduces a dedicated callback for the
CouchbaseCacheManagerBuilder that is used by the auto-configuration and
update the documentation to refer to it with a sample usage.

Closes gh-22573
2020-08-11 13:32:17 +02:00
dreis2211 11df8216ad Fix some doc anchors
See gh-22839
2020-08-10 14:34:22 +02:00
Stephane Nicoll fcab5d6ce1 Merge branch '2.3.x' 2020-08-10 14:33:50 +02:00
Stephane Nicoll 2b578296f9 Merge branch '2.2.x' into 2.3.x 2020-08-10 14:33:37 +02:00
Stephane Nicoll 8962d6ca21 Polish 2020-08-10 14:31:16 +02:00
Brian Clozel 6336007038 Merge branch '2.3.x'
Closes gh-22826
2020-08-07 16:01:25 +02:00
Brian Clozel fea535d176 Update HTTP/2 auto-configuration for Jetty
Prior to this commit, the HTTP/2 server auto-configuration for Jetty
would require Conscrypt as a hard dependency.

This commit updates the auto-configuration for more flexibility and now
allows the following deployments:

* JDK9+ with the JDK ALPN implementation
* JDK8u252+ with the backported ALPN implementation
* Conscrypt with no JDK requirement

The auto-configuration now improves detection and guides developers in
case there is a missing `jetty-alpn-*-server` dependency.

The reference docs in the HOWTO section has been updated accordingly.

Closes gh-22188
2020-08-07 15:42:23 +02:00
Andy Wilkinson 4b17bfd889 Merge branch '2.3.x' 2020-08-06 13:34:31 +01:00
Andy Wilkinson 327138c227 Merge branch '2.2.x' into 2.3.x 2020-08-06 13:34:12 +01:00
Andy Wilkinson 63f7c75b61 Polish 2020-08-06 13:34:01 +01:00
Andy Wilkinson 792c4f46ef Merge branch '2.3.x'
Closes gh-22759
2020-08-06 09:22:11 +01:00
Andy Wilkinson c121f9f61f Merge branch '2.2.x' into 2.3.x
Closes gh-22758
2020-08-06 09:21:29 +01:00
Andy Wilkinson b53f54f2cf Add tip about using AopTestUtils.getTargetProxy with proxied spy beans
Closes gh-22281
2020-08-06 09:21:11 +01:00