Commit Graph

297 Commits

Author SHA1 Message Date
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 82b90d5749 Merge branch '2.4.x'
Closes gh-25052
2021-01-29 09:07:40 +00: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 f6097e7da4 Merge branch '2.4.x'
Closes gh-25045
2021-01-28 19:29:14 -08: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 479180fdf9 Merge branch '2.4.x'
Closes gh-25041
2021-01-28 18:49:04 -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 802da9dc87 Merge branch '2.4.x'
Closes gh-25039
2021-01-28 18:01:06 -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
Hatef Palizgar 53c1e79810 Change info endpoint to be secure and unexposed by default
See gh-24715
2021-01-21 13:54:59 -08:00
dreis2211 d4eccb7715 Upgrade to Groovy 3.0.7
See gh-24946
2021-01-21 14:32:42 +00:00
Stephane Nicoll 012a199773 Remove Spring Data Solr support
In preparation to the upgrade to Spring Data 2021.0, this commit removes
auto-configuration for Spring Data Solr.

Closes gh-24939
2021-01-20 15:03:42 +01: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 1a2a3d6598 Merge branch '2.4.x' 2021-01-15 14:37:25 +01:00
Stephane Nicoll e8ae18ae11 Polish
See gh-24837
2021-01-15 14:36:53 +01:00
Stephane Nicoll a18f01addf Remove bitronix support
See gh-24806
2021-01-15 14:14:27 +01:00
Stephane Nicoll 0897af0dfa Add customizer for jOOQ's configuration
This commit adds a customizer hook point for jOOQ's configuration. When
such a bean is present, it is invoked with the auto-configuration
`Configuration`. This effectively supersedes checking for a number of
jOOQ `*Provider`beans. The existing beans are still honoured, in a
deprecated fashion.

Closes gh-24732
2021-01-11 14:16:34 +01:00
Stephane Nicoll 1d30a4716e Merge branch '2.4.x'
Closes gh-24708
2021-01-08 15:54:36 +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
Stephane Nicoll 1a2577a07e Fix sample formatting 2020-12-23 17:19:18 +01:00
Stephane Nicoll 1fd17cf641 Add support for Elasticsearch sniffer
Closes gh-24174
2020-12-23 17:11:40 +01:00
Madhura Bhave b29ac37db6 Add docs about using InMemoryOAuth2AuthorizedClientService
Closes gh-24596
2020-12-22 12:18:47 -08:00
Madhura Bhave d36c950e33 Merge branch '2.4.x'
Closes gh-24595
2020-12-22 12:14:16 -08:00
Madhura Bhave a0afec120d Add docs about using InMemoryOAuth2AuthorizedClientService
Closes gh-24313
2020-12-22 12:13:17 -08:00
Madhura Bhave 467f853641 Merge branch '2.4.x'
Closes gh-24593
2020-12-22 11:17:54 -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
Justin Bertram 99b43cb690 Allow to configure ActiveMQ Artemis with a broker url
See gh-24302
2020-12-21 17:32: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