Commit Graph

288 Commits

Author SHA1 Message Date
izeye f48893def5 Polish 2021-02-14 09:34:30 +01:00
izeye 63ee99bf75 Polish
See gh-25093
2021-02-09 09:48:35 +01:00
Stephane Nicoll b2818680fd Polish "Clarify usage of BufferingApplicationStartup"
See gh-25075
2021-02-09 09:44:19 +01:00
Oleg Sukhov 853dbc3de3 Clarify usage of BufferingApplicationStartup
See gh-25075
2021-02-09 09:21:52 +01:00
Phillip Webb 9ac5151932 Merge branch '2.3.x' into 2.4.x
Closes gh-25064
2021-01-30 17:46:10 -08:00
Phillip Webb 19c5864d2c Clarify square bracket map binding notation
Update reference docs to make it clearer when the square bracket map
binding notation should be used.

Closes gh-23390
2021-01-30 17:42:49 -08:00
Phillip Webb d7c44e4503 Merge branch '2.3.x' into 2.4.x
Closes gh-25061
2021-01-30 17:04:10 -08:00
Phillip Webb 549d4f7fbe Document that Spring MVC has own ConversionService
Update documentation to make it clearer that Spring MVC does not use the
`ApplicationConversionService` unless configured explicitly.

Closes gh-22718
2021-01-30 17:03:55 -08:00
Andy Wilkinson a3058200cb Merge branch '2.3.x' into 2.4.x
Closes gh-25050
2021-01-29 09:06:42 +00:00
dreis2211 4940694db2 Fix duplicate anchor id
See gh-25048
2021-01-29 09:06:06 +00:00
Phillip Webb 2d056525d8 Merge branch '2.3.x' into 2.4.x
Closes gh-25044
2021-01-28 19:28:56 -08:00
Phillip Webb c03d8773e7 Improve logging.register-shutdown-hook docs
Update the "Logging" reference documentation with a section about
shutting down the logging system.

Closes gh-24507
2021-01-28 19:26:18 -08:00
Phillip Webb c86ee4c851 Merge branch '2.3.x' into 2.4.x
Closes gh-25040
2021-01-28 18:48:51 -08:00
Phillip Webb 5b2d1f19a0 Polish 'Add note about exploded jars and banner properties'
See gh-24982
2021-01-28 18:48:14 -08:00
Robert Smith 33c038199d Add note about exploded jars and banner properties
Add a note to the "Customizing the Banner" explaining that you need
to be using the `JarLauncher` to use the `application.*` properties.

See gh-24982
2021-01-28 18:48:11 -08:00
Phillip Webb 53f1aab833 Merge branch '2.3.x' into 2.4.x
Closes gh-25038
2021-01-28 18:00:42 -08:00
Phillip Webb 60bb33f231 Polish 'Add a tip about actuator endpoints'
See gh-24336
2021-01-28 17:55:09 -08:00
Wesley Ugang 6ced1d7f4e Add a tip about actuator endpoints
Update the "Externalized Configuration" section with a tip that about
the actuator `env` and `configprops` endpoints.

See gh-24336
2021-01-28 17:53:04 -08:00
Stephane Nicoll 85729d2a8a Merge branch '2.3.x' into 2.4.x
Closes gh-24943
2021-01-20 13:57:18 +01:00
Stephane Nicoll 10b4cb8cb5 Deprecate Spring Data Solr support
Closes gh-24942
2021-01-20 13:56:50 +01:00
Stephane Nicoll e8ae18ae11 Polish
See gh-24837
2021-01-15 14:36:53 +01:00
Stephane Nicoll b8a1869569 Merge branch '2.3.x' into 2.4.x
Closes gh-24707
2021-01-08 15:53:53 +01:00
Stephane Nicoll 826d79be3e Clarify behaviour of WebServerFactory in reference guide
Closes gh-24705
2021-01-08 15:50:16 +01:00
Madhura Bhave b29ac37db6 Add docs about using InMemoryOAuth2AuthorizedClientService
Closes gh-24596
2020-12-22 12:18:47 -08:00
Madhura Bhave a0afec120d Add docs about using InMemoryOAuth2AuthorizedClientService
Closes gh-24313
2020-12-22 12:13:17 -08:00
Madhura Bhave a714ba44ea Update documentation containing examples of WebSecurityConfigurerAdapter
Closes gh-24551
2020-12-22 11:17:30 -08:00
Stephane Nicoll 1f71927a9f Merge branch '2.3.x' into 2.4.x
Closes gh-24587
2020-12-22 09:45:42 +01:00
Stephane Nicoll 9e5a6c5228 Harmonize references to ActiveMQ Artemis
Closes gh-24586
2020-12-22 09:44:49 +01: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
izeye 0eae6b4f72 Polish
See gh-24418
2020-12-10 13:53:06 +01: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 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
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
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 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 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
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 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 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
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
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
Stephane Nicoll 9ab3abb728 Add support for SAML2 relying party registration's decryption credentials
Closes gh-23705
2020-10-26 15:43:35 +01: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
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
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
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
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
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 1631ae23f5 Allow RestTemplateBuilder to be further customized
Closes gh-23389
2020-09-22 14:07:43 +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
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
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
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 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 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