Commit Graph

11605 Commits

Author SHA1 Message Date
Andy Wilkinson a4505eaeb0 Merge branch '2.3.x'
Closes gh-24024
2020-11-04 09:41:41 +00:00
Andy Wilkinson 81f672eae3 Merge branch '2.2.x' into 2.3.x
Closes gh-24023
2020-11-04 09:40:54 +00:00
Andy Wilkinson 28ccf54b21 Ignore schema username when auto-configuring a test DB
Previously, when an embedded test database was being auto-configured
any schema username and password specified by the user would result
in a separate embedded test database being created to load the schema.
This then left the actual test database without the schema causing
test failures.

This commit updates the test database auto-configuration to set the
schema username to an empty string in a property source that's added
first to the environment's property sources. This causes any schema
username configured by the user to be ignored, preventing the creation
of a separate database for schema.sql processing.

Fixes gh-19321
2020-11-04 09:30:19 +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 bbad377ecc Merge branch '2.3.x'
Closes gh-24017
2020-11-03 18:00:22 +00:00
Andy Wilkinson f3d4b3e5ac Allow entries to be streamed from JarURLConnections' jar file
Fixes gh-23821
2020-11-03 17:59:38 +00:00
Andy Wilkinson f4e90f4512 Merge branch '2.3.x'
Closes gh-24016
2020-11-03 17:29:14 +00:00
Andy Wilkinson d1a9dba25d Polish "Avoid repeated calls of WebFlux and MVC registrations' getters"
See gh-23999
2020-11-03 17:23:16 +00:00
Andy Wilkinson 4c777c6df7 Deprecate classpath logging listener and stop registering by default
Closes gh-23138
2020-11-03 17:21:36 +00:00
Michal Růžička 2aac5c0095 Avoid repeated calls of WebFlux and MVC registrations' getters
See gh-23999
2020-11-03 16:51:39 +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 d41e739f8c Merge branch '2.3.x'
Closes gh-24013
2020-11-03 14:58:41 +00:00
Andy Wilkinson dc86e8ce30 Merge branch '2.2.x' into 2.3.x
Closes gh-24012
2020-11-03 14:58:28 +00:00
Andy Wilkinson 6548ca4c11 Implement equals and hashCode in TestTypeExcludeFilter
Fixes gh-23978
2020-11-03 14:50:00 +00:00
Andy Wilkinson c722692a8b Polish "Align MustacheViewResolver with other similar resolvers"
See gh-24011
2020-11-03 14:28:11 +00:00
Dave Syer 22693c17f3 Align MustacheViewResolver with other similar resolvers
The `FreeMarkerViewResolver` (and other template-based resolvers) in
Spring Framework avoid using reflection if they know how to
instantiate the view class. This change aligns with them.

See gh-24011
2020-11-03 14:21:50 +00:00
Andy Wilkinson 699f03d5a6 Merge branch '2.3.x'
Closes gh-24010
2020-11-03 14:04:38 +00:00
Andy Wilkinson 2dce4aa42b Merge branch '2.2.x' into 2.3.x
Closes gh-24009
2020-11-03 14:04:08 +00:00
Andy Wilkinson 30a0ccab02 Remove use of `@PostConstruct` from main code
When running on Java 11 (where `@PostConstruct` is no longer part of
the JRE) and without a dependency on jakarta-annotation-api,
`@PostContruct` annotions are silently dropped. This leads to obscure and
hard-to-track down changes in the behaviour of our auto-configuration
as the `@PostConstruct`-annotated methods are not invoked.

To allow users to run on Java 11 without having jakarta-annotation-api
on the classpath, this commit removes use of `@PostConstruct` from main
code. A Checkstyle rule has also been added to prevent its usage in
main code from being reintroduced.

Closes gh-23723
2020-11-03 13:59:38 +00:00
Andy Wilkinson c93d91175d Merge branch '2.3.x'
Closes gh-24007
2020-11-03 10:27:53 +00:00
Andy Wilkinson 2513071b1f Merge branch '2.2.x' into 2.3.x
Closes gh-24006
2020-11-03 10:27:38 +00:00
Andy Wilkinson 622606d85a Make it clearer that only the main DataSource bean may be replaced
Closes gh-23808
2020-11-03 10:24: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
Andy Wilkinson dbb954734e Correct replacement for stale-while-revalidate config property
Fixes gh-23980
2020-11-02 20:49:00 +00:00
Andy Wilkinson 8004a821f2 Fix nested test config discovery for sliced tests
Fixes gh-23984
2020-11-02 20:40:27 +00:00
Stephane Nicoll b67d746840 Fix metadata for deprecated logging.file properties
See gh-23609

Closes gh-23995
2020-11-02 18:09:27 +01:00
Stephane Nicoll 62f26ee36f Remove code that's no longer used
Closes gh-23993
2020-11-02 10:55:12 +01:00
Stephane Nicoll 339b21cee7 Merge branch '2.3.x'
Closes gh-23992
2020-11-02 10:48:32 +01:00
Stephane Nicoll 1e9c9b9d73 Add missing default values in configuration properties metadata
Closes gh-23991
2020-11-02 10:44:06 +01:00
Phillip Webb fb59432cf5 Use Graal friendly logging factory implementations
Update `LoggingSystemFactory` class present checks to use a static
final field so that they work better with Graal.

Closes gh-23985
2020-11-01 12:54:43 -08:00
Phillip Webb 298880c260 Polish formatting 2020-11-01 12:50:31 -08:00
izeye 9c35cd41ad Polish
See gh-23986
2020-11-01 17:07:50 +01:00
Scott Frederick f080bb6c25 Fix test that depended on snapshot version
A test case would fail to accurately capture the contents
of the layers.idx file unless the test project contained
at least one non-project snapshot dependency, which was only
true when the Spring Boot version was a snapshot.

See gh-23463
2020-10-29 19:40:13 -05:00
Stephane Nicoll d951f28e16 Upgrade to Micrometer 1.6.0
Closes gh-23525
2020-10-29 18:58:32 +01:00
Andy Wilkinson 1d4a45cf8a Add dependency management for jOOQ's new jooq-kotlin module
Closes gh-23964
2020-10-29 16:35:37 +00: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 929d8fcd3c Update copyright year of changed files 2020-10-29 09:08:13 -07:00
Phillip Webb a41ff4dfab Merge branch '2.3.x' 2020-10-29 09:07:57 -07:00
Phillip Webb b0c2687aa9 Update copyright year of changed files 2020-10-29 09:07:42 -07:00
Andy Wilkinson 5642dc6d13 Merge branch '2.3.x'
Closes gh-23970
2020-10-29 15:31:59 +00:00
Andy Wilkinson 70d9602b3f Merge branch '2.2.x' into 2.3.x
Closes gh-23969
2020-10-29 15:31:12 +00:00
Andy Wilkinson e7eb7739dc Use overriding rather than overridden getter methods in config prop AP
Fixes gh-23966
2020-10-29 15:30:46 +00:00
Andy Wilkinson a8705d19e5 Upgrade to Flyway 7.1.1
Closes gh-23932
2020-10-29 13:04:00 +00:00
Andy Wilkinson 2db8e7eebe Polish "Add liquibase driver class name property"
See gh-23958
2020-10-29 10:06:43 +00:00
Evgeniy Cheban 8a9b31aa69 Add liquibase driver class name property
See gh-23958
2020-10-29 09:11:41 +00:00
Stephane Nicoll dc54394c03 Upgrade to Spring Batch 4.3.0
Closes gh-23963
2020-10-29 09:06:38 +01:00
Stephane Nicoll e962714dd3 Upgrade to Spring Session 2020.0.0
Closes gh-23788
2020-10-29 09:06:08 +01:00
Stephane Nicoll 6f9434ccc4 Upgrade to Spring Integration 5.4.0
Closes gh-23781
2020-10-29 09:05:23 +01:00
Phillip Webb 74e06e8e6a Refine MetadataCollector logic
Update `MetadataCollector` merge logic so that previous items are no
longer added if the current round contains a property of the same name.

Fixes gh-23916
2020-10-28 21:59:06 -07:00
Phillip Webb 23e5fd798c Merge branch '2.3.x'
Closes gh-23960
2020-10-28 21:18:42 -07:00
Phillip Webb b86dcbec72 Merge branch '2.2.x' into 2.3.x
Closes gh-23959
2020-10-28 21:18:17 -07:00
Phillip Webb cf09451ffb Retain inner-class data on incremental compile
Ensure that metadata sourced from inner-types is not deleted when
performing an incremental compile. Prior to this commit, the source
type was searched using the `Outer$Inner` format. This is not supported
`Elements.getTypeElement` so we now convert the names to `Outer.Inner`.

Closes gh-10886
2020-10-28 21:13:08 -07:00
Phillip Webb c0a0c4cbac Show the source jar of a ClasspathResource
Update `TextResourceOrigin` so that it shows the source jar file
of a `ClasspathResource`.

Closes gh-23019
2020-10-28 18:25:28 -07:00
Scott Frederick 04a40a4c68 Provide content-length header to Docker API calls
Docker daemon authorization plugins reject POST or PUT requests that have a
content type `application/json` header but no content length header. This
commit ensures that a content length header is provided in these cases.

This is a cherry-pick of the changes in d5b2836ec9
which were lost in a forward-merge.

Fixes gh-23957
2020-10-28 17:31:27 -05:00
Stephane Nicoll 425a2084ac Upgrade to Spring Kafka 2.5.7
Closes gh-23787
2020-10-28 22:32:55 +01:00
Stephane Nicoll 11b55f650c Upgrade to Spring Kafka 2.3.12
Closes gh-23786
2020-10-28 22:28:05 +01:00
Stephane Nicoll 124c148c51 Upgrade to Spring Integration 5.2.9
Closes gh-23956
2020-10-28 22:27:19 +01:00
Phillip Webb b39d1910bc Fix test failure caused by MavenBuild upgrades
See gh-23937
2020-10-28 14:07:27 -07:00
Scott Frederick d5b2836ec9 Provide content-length header to Docker API calls
Docker daemon authorization plugins reject POST or PUT requests that have a
content type `application/json` header but no content length header. This
commit ensures that a content length header is provided in these cases.

Fixes gh-22840
2020-10-28 15:15:32 -05:00
Andy Wilkinson ab21b55dc4 Revert "Upgrade to Flyway 7.1.0"
This reverts commit a6c6aba40d.

See gh-23932
2020-10-28 19:45:19 +00:00
Phillip Webb d43760ba5a Merge branch '2.3.x'
Closes gh-23938
2020-10-28 12:39:08 -07:00
Phillip Webb d79c23ef89 Upgrade MavenBuild versions
Align versions with those in the main build.

Closes gh-23937
2020-10-28 12:37:30 -07:00
Stephane Nicoll 794a4ea0ab Upgrade to Spring AMQP 2.3.0
Closes gh-23785
2020-10-28 20:29:40 +01:00
Stephane Nicoll d112b8a289 Upgrade to Spring AMQP 2.2.12
Closes gh-23784
2020-10-28 20:27:50 +01:00
Stephane Nicoll 90ee8b5a2a Upgrade to Spring Integration 5.3.3
Closes gh-23780
2020-10-28 20:26:59 +01:00
Stephane Nicoll 47a5d7aab6 Upgrade to Micrometer 1.5.6
Closes gh-23791
2020-10-28 20:26:17 +01:00
Stephane Nicoll f2afd28b9a Upgrade to Spring AMQP 2.2.12
Closes gh-23783
2020-10-28 20:24:56 +01:00
Sebastian Nohn b3c4d5fe5c Upgrade to Log4j 2.13.3 in Maven tests
See gh-23935
2020-10-28 12:15:33 -07:00
Stephane Nicoll 0fe08632eb Upgrade to Spring Data 2020.0.0
Closes gh-23778
2020-10-28 17:52:20 +01:00
Stephane Nicoll a6c6aba40d Upgrade to Flyway 7.1.0
Closes gh-23932
2020-10-28 17:51:27 +01:00
Andy Wilkinson 8f2e58e301 Merge branch '2.3.x'
Closes gh-23933
2020-10-28 16:03:11 +00:00
Andy Wilkinson 58aa34489f Wait for DataSource init before allowing context refresh to complete
Closes gh-22852
2020-10-28 16:01:14 +00:00
Stephane Nicoll b94fe90f24 Upgrade to Spring Data Neumann-SR5
Closes gh-23777
2020-10-28 16:37:08 +01:00
Stephane Nicoll 9c4e5904e7 Upgrade to Micrometer 1.3.15
Closes gh-23790
2020-10-28 16:30:05 +01:00
Stephane Nicoll 8bd7cc417e Upgrade to Spring Data Moore-SR11
Closes gh-23776
2020-10-28 16:29:27 +01:00
Stephane Nicoll 472c563451 Merge branch '2.3.x'
Closes gh-23931
2020-10-28 16:20:22 +01:00
Stephane Nicoll 0424689aee Merge branch '2.2.x' into 2.3.x
Closes gh-23930
2020-10-28 16:18:00 +01: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
Stephane Nicoll a3818d690e Fix custom layout example so that tokens are replaced 2020-10-28 13:37:59 +01:00
Andy Wilkinson 74ec5f65d1 Make isPresent check more Graal-friendly
Closes gh-23925
2020-10-28 10:30:11 +00:00
Andy Wilkinson 506f7acc8d Streamline use of TestContextAnnotationUtils
See gh-12470
2020-10-28 10:20:14 +00:00
Andy Wilkinson d9084eab67 Provide Mockito with a MockResolver that removes Spring-created proxies 2020-10-28 09:43:09 +00:00
Andy Wilkinson 6b437ece54 Inherit enclosing class's configuration in nested tests
Fixes gh-12470
2020-10-28 08:56:42 +00:00
Stephane Nicoll b0a1c2a740 Upgrade to Spring HATEOAS 1.2.0
Closes gh-23779
2020-10-28 09:06:34 +01:00
Stephane Nicoll 65d76f2fe8 Upgrade to Mockito 3.6.0
Closes gh-23924
2020-10-28 08:25:50 +01:00
Stephane Nicoll a55325f0ad Upgrade to Lettuce 6.0.1.RELEASE
Closes gh-23923
2020-10-28 08:25:41 +01:00
Andy Wilkinson 12dcf147be Polish
See gh-21454
2020-10-28 07:09:47 +00:00
Stephane Nicoll c02b16eeeb Upgrade to Lettuce 5.3.5.RELEASE
Closes gh-23922
2020-10-28 08:03:44 +01:00
Phillip Webb 2e2b371679 Add auto-trimming support to configtree sources
Update `ConfigTreePropertySource` with an option to automatically trim
trailing new-line characters.

Closes gh-23826
2020-10-27 22:22:59 -07: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 0588e989af Don't adapt RandomPropertySource
Stop adapting `RandomPropertySource` to `ConfigurationPropertySource`
since it's not useful as a binding source.

Closes gh-21659
2020-10-27 20:41:13 -07:00
Phillip Webb 11a153869f Polish 'Support nested @PropertyMapping annotations'
See gh-23146
2020-10-27 18:49:04 -07:00
Stefan Zwanenburg edf4c833c2 Support nested @PropertyMapping annotations
Update `AnnotationsPropertySource` so that nested annotations are
supported. Prior to this commit, annotations annotated with
`@PropertyMapping` that contained nested annotation attributes would
result in instances of `TypeMappedAnnotation` being used as properties.
This usually led to errors due to not being able to convert those to
Strings. This commit makes it so that nested annotations are recursively
mapped to properties. This should allow for more complex configuration
to be mapped from annotations.

See gh-23146
2020-10-27 18:48:46 -07:00
Andy Wilkinson f60f3cb38e Exclude property beans from method validation
Exclude `@ConfigurationProperties` beans from method validation so
that `@Validated` can be used on final classes without the method
validation post-processor throwing an exception.

This commit introduces a `FilteredMethodValidationPostProcessor` class
which will use `MethodValidationExcludeFilters` to exclude beans from
method validation processing. Using `@EnableConfigurationProperties`
will automatically register an appropriate filter.

Closes gh-21454
2020-10-27 15:43:00 -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 8b6b0505fb Upgrade to Spring Framework 5.3.0
Closes gh-23774
2020-10-27 16:59:16 +01:00
Andy Wilkinson b9516bc77c Await registration of http.server.requests meter
Previously, the test would make an HTTP request and, as soon as the
response was received, it would check the presence and value of the
http.server.requests meter. This create a race condition between the
meter being registered once the response had been flushed and the
meter's presence being checked. If the check won the race, the test
would fail.

This commit updates the test to wait for up to 5 seconds for the
meter to be present and have a count of 1, matching the single request
that has been made.

Fixes gh-23919
2020-10-27 15:54:22 +00:00
Andy Wilkinson 9854e3019b Polish 2020-10-27 14:59:10 +00:00
Stephane Nicoll 41f3470e09 Upgrade to Spring Framework 5.2.10
Closes gh-23526
2020-10-27 15:49:21 +01:00
Stephane Nicoll 8b49f792cb Upgrade to Spring Framework 5.2.10
Closes gh-23773
2020-10-27 15:48:17 +01:00
Stephane Nicoll 4561f068aa Upgrade to Rsocket 1.1.0
Closes gh-23912
2020-10-27 15:10:49 +01: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
Andy Wilkinson 1c4b4cb0cd Provide config properties for configuring WebFlux's locale resolution
Previously, the locale context resolver used with WebFlux could only be
configured by provided a custom LocaleContextResolver bean. By
constrast, when using Spring MVC, the spring.mvc.locale and
spring.mvc.locale-resolver properties could be used to configure the
locale and the resolver (fixed or Accept header) respectively.

This commit introduces spring.web.locale and spring.web.locale-resolver
properties and deprecates their spring.mvc equivalents. The new
properties can be used to configure locale resolution with either
Spring MVC or WebFlux.

Closes gh-23449
2020-10-27 11:12:00 +00:00
Phillip Webb ef89eb6dfb Add @ConditionalOnDefaultWebSecurity annotation
Add a dedicate condition annotation to detect when Spring Security is
available but has not been configured by the user. The new annotation
helps simplify quite a few of our auto-configuration classes.

See gh-23421
2020-10-26 23:47:14 -07:00
Madhura Bhave 0818f27f44 Configure WebSecurity using WebSecurityCustomizer
Replace `WebSecurityConfigurer` and `WebSecurityConfigurerAdapter`
configurations with `WebSecurityCustomizer` or `SecurityFilterChain`
beans.

Closes gh-23421
2020-10-26 23:47:14 -07:00
Stephane Nicoll ca08664ebd Upgrade to Reactor 2020.0.0
Closes gh-23771
2020-10-27 04:29:22 +01:00
Stephane Nicoll e6c63b5b4e Polish
See gh-23914
2020-10-27 04:25:17 +01:00
Stephane Nicoll a7f6c3652a Upgrade to Kotlin Coroutines 1.4.0
Close gh-23913
2020-10-27 03:58:26 +01:00
Stephane Nicoll 4769889c6b Upgrade to JUnit 4.13.1
Closes gh-23876
2020-10-27 03:41:23 +01:00
Stephane Nicoll 30a9424f6c Upgrade to JUnit Jupiter 5.6.3
Closes gh-23915
2020-10-27 03:40:41 +01:00
Stephane Nicoll f727db3866 Upgrade to RSocket 1.0.3
Closes gh-23911
2020-10-27 03:37:58 +01:00
Stephane Nicoll d5cb6c1a4f Upgrade to RSocket 1.0.3
Closes gh-23910
2020-10-27 03:25:59 +01:00
Andy Wilkinson fafc0a91e3 Register @WebListeners in a way that allows them to register components
Previously, @WebListeners were discovered via custom component scanning
and then registered programmatically via the ServletContext. The servlet
spec requires any ServletContextListener registered in this manner to be
prohibited from programatically configuring servlets, filters, and
listeners. This left us not strictly complying with the servlet spec
as a ServletContextListener registered via a @WebListener annotation
should be able to programatically configure other components.

This commit updates WebListenerHandler to register each @WebListener
component directly with Jetty, Tomcat, or Undertow rather than via the
ServletContext API. This ensure that any @WebListener-annoated
ServletContextListener registered via servlet component scanning is
able to programatically register servlets, filters, and listeners.

There is a small chance that this will be a breaking change for some
users:

1. The ServletListenerRegistrationBeans that were previously defined
   for each @WebListener will now be
   WebListenerHandler.WebListenerRegistrars
2. Each @WebListener-annotated class will now be instantiated by
   Jetty, Tomcat, or Undertow. Jetty and Tomcat both require the class
   to be public and have a public default constructor. Previously,
   a package-private class or default constructor could be used as the
   instantiation was performed by Spring Framework. Undertow is not
   affected as it can instantiate a package-private type.

Fixes gh-18303
2020-10-26 13:26:52 -07:00
Scott Frederick 1a3f810cd8 Prevent serialization exception from Env actuator
When `EnvironmentEndpoint` is building a response to return to the
web infrastructure, it creates a data structure containing all
property values from all property sources. Prior to this commit, it
was possible for the response data structure to contain property
values that were not serializable to JSON by Jackson, which would
cause an exception to be thrown by the web infrastructure. This
commit ensures the data structure is serializable to JSON by
ensuring property values are primitives or Strings, and returning
a placeholder value if a property value is of any other type.

Fixes gh-23805
2020-10-26 14:26:41 -05:00
Stephane Nicoll 3119e85a32 Upgrade to Reactor Dysprosium-SR13
Closes gh-23770
2020-10-26 18:17:13 +01:00
Stephane Nicoll 7fa5ff46f7 Upgrade to Reactor Dysprosium-SR13
Closes gh-23769
2020-10-26 18:15:58 +01:00
Phillip Webb 5e26954068 Provide default charset properties
Fixed gh-23827
2020-10-26 08:57:06 -07:00
Andy Wilkinson abfdfc3e5f Merge branch '2.3.x'
Closes gh-23908
2020-10-26 14:45:18 +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 c0bb6ff667 Await registration of http.server.requests meter
Previously, the test would make an HTTP request and, as soon as the
response was received, it would check the presence and value of the
http.server.requests meter. This create a race condition between the
meter being registered once the response had been flushed and the
meter's presence being checked. If the check won the race, the test
would fail.

This commit updates the test to wait for up to 5 seconds for the
meter to be present and have a count of 1, matching the single request
that has been made.

Fixes gh-23863
2020-10-26 14:41:58 +00: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
Andy Wilkinson 653e64c4ef Upgrade to SendGrid 4.6.7
Closes gh-23906
2020-10-26 13:39:01 +00:00
Andy Wilkinson 1cf842cbf7 Upgrade to Rabbit AMQP Client 5.10.0
Closes gh-23905
2020-10-26 13:39:01 +00:00
Andy Wilkinson 5a35d3fd3d Upgrade to R2DBC Bom Arabba-SR8
Closes gh-23904
2020-10-26 13:39:01 +00:00
Andy Wilkinson 7fd392e66b Upgrade to Postgresql 42.2.18
Closes gh-23903
2020-10-26 13:39:01 +00:00
Andy Wilkinson e57b65d719 Upgrade to Oracle Database 19.8.0.0
Closes gh-23902
2020-10-26 13:39:00 +00:00
Andy Wilkinson b414fd1f3d Upgrade to Nimbus JOSE JWT 9.1.1
Closes gh-23901
2020-10-26 13:39:00 +00:00
Andy Wilkinson c2df079d96 Upgrade to OAuth2 OIDC SDK 8.23.1
Closes gh-23900
2020-10-26 13:39:00 +00:00
Andy Wilkinson 3a5b2e293c Upgrade to Netty 4.1.53.Final
Closes gh-23899
2020-10-26 13:39:00 +00:00
Andy Wilkinson f10ed6a05b Upgrade to MySQL 8.0.22
Closes gh-23898
2020-10-26 13:39:00 +00:00
Andy Wilkinson 130735f366 Upgrade to MongoDB 4.1.1
Closes gh-23897
2020-10-26 13:38:59 +00:00
Andy Wilkinson 09a4646280 Upgrade to Mockito 3.5.15
Closes gh-23896
2020-10-26 13:38:59 +00:00
Andy Wilkinson ad5bd122fe Upgrade to Lombok 1.18.16
Closes gh-23895
2020-10-26 13:38:59 +00:00
Andy Wilkinson ad75681ab3 Upgrade to jOOQ 3.14.0
Closes gh-23894
2020-10-26 13:38:59 +00:00
Andy Wilkinson b7c56f205d Upgrade to Jetty 9.4.33.v20201020
Closes gh-23893
2020-10-26 13:38:59 +00:00
Andy Wilkinson 708c43a8d1 Upgrade to Flyway 7.0.4
Closes gh-23892
2020-10-26 13:38:58 +00:00
Andy Wilkinson 7519e199d1 Upgrade to Elasticsearch 7.9.3
Closes gh-23891
2020-10-26 13:01:52 +00:00
Andy Wilkinson 499ba7e0bc Upgrade to Dropwizard Metrics 4.1.14
Closes gh-23890
2020-10-26 13:01:51 +00:00
Andy Wilkinson 47e6063533 Upgrade to Commons Pool2 2.9.0
Closes gh-23889
2020-10-26 13:01:50 +00:00
Andy Wilkinson 54a76199b7 Upgrade to AssertJ 3.18.0
Closes gh-23888
2020-10-26 13:01:48 +00:00
Andy Wilkinson dedd8e603d Upgrade to Tomcat 9.0.39
Closes gh-23885
2020-10-26 12:58:40 +00:00
Andy Wilkinson 4b6ef6ef44 Upgrade to Spring Security 5.3.5.RELEASE
Closes gh-23884
2020-10-26 12:58:40 +00:00
Andy Wilkinson 1520de773d Upgrade to RxJava2 2.2.20
Closes gh-23883
2020-10-26 12:58:40 +00:00
Andy Wilkinson 74e4d8effb Upgrade to R2DBC Bom Arabba-SR8
Closes gh-23882
2020-10-26 12:58:40 +00:00
Andy Wilkinson 87c6ca0757 Upgrade to Postgresql 42.2.18
Closes gh-23881
2020-10-26 12:58:40 +00:00
Andy Wilkinson 48608896ab Upgrade to Netty 4.1.53.Final
Closes gh-23880
2020-10-26 12:58:40 +00:00
Andy Wilkinson 890e61989f Upgrade to Neo4j OGM 3.2.17
Closes gh-23879
2020-10-26 12:58:39 +00:00
Andy Wilkinson b41a4970fa Upgrade to MySQL 8.0.22
Closes gh-23878
2020-10-26 12:58:39 +00:00
Andy Wilkinson 47831a3b34 Upgrade to Lombok 1.18.16
Closes gh-23877
2020-10-26 12:58:39 +00:00
Andy Wilkinson d75288b726 Upgrade to jOOQ 3.13.5
Closes gh-23875
2020-10-26 12:58:39 +00:00
Andy Wilkinson b7704f5a9c Upgrade to Jetty 9.4.33.v20201020
Closes gh-23874
2020-10-26 12:58:39 +00:00
Andy Wilkinson 08ef732483 Upgrade to Jackson Bom 2.11.3
Closes gh-23873
2020-10-26 12:58:38 +00:00
Andy Wilkinson fe1560819e Upgrade to HttpClient 4.5.13
Closes gh-23872
2020-10-26 12:58:38 +00:00
Andy Wilkinson dccc82d729 Upgrade to Hibernate Validator 6.1.6.Final
Closes gh-23871
2020-10-26 12:58:38 +00:00
Andy Wilkinson eb9dafe4ee Upgrade to Hibernate 5.4.22.Final
Closes gh-23870
2020-10-26 12:58:38 +00:00
Andy Wilkinson 7d0f5ce8fd Upgrade to Hazelcast 3.12.10
Closes gh-23869
2020-10-26 12:58:38 +00:00
Andy Wilkinson 1b0cb179e7 Upgrade to Dropwizard Metrics 4.1.14
Closes gh-23868
2020-10-26 12:58:38 +00:00
Andy Wilkinson 2958ff3b16 Upgrade to Couchbase Client 3.0.9
Closes gh-23867
2020-10-26 12:58:37 +00:00
Andy Wilkinson 5e71a72545 Upgrade to Caffeine 2.8.6
Closes gh-23866
2020-10-26 12:58:37 +00:00
Andy Wilkinson fca4ab78f4 Upgrade to Byte Buddy 1.10.17
Closes gh-23865
2020-10-26 12:58:37 +00:00
Andy Wilkinson 16b26cc9da Align versions of scala-library and scala-reflect
Closes gh-23887
2020-10-26 12:58:37 +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
Andy Wilkinson ac8d55db78 Upgrade to Spring Security 5.2.7.RELEASE
Closes gh-23862
2020-10-26 10:25:29 +00:00
Andy Wilkinson dc523c1bbd Upgrade to Lombok 1.18.16
Closes gh-23861
2020-10-26 10:25:27 +00:00
Andy Wilkinson 072bfae4af Upgrade to Postgresql 42.2.18
Closes gh-23860
2020-10-26 10:25:26 +00:00
Andy Wilkinson e9fe96b0ba Upgrade to Neo4j Ogm 3.2.17
Closes gh-23859
2020-10-26 10:25:25 +00:00
Andy Wilkinson 3b63e2c6da Upgrade to Hibernate Validator 6.0.21.Final
Closes gh-23858
2020-10-26 10:25:24 +00:00
Andy Wilkinson fdf44f1fd1 Upgrade to Hibernate 5.4.22.Final
Closes gh-23857
2020-10-26 10:25:22 +00:00
Andy Wilkinson 53a458ffcf Upgrade to Elasticsearch 6.8.13
Closes gh-23856
2020-10-26 10:25:21 +00:00
Andy Wilkinson 5854abcbf1 Upgrade to Jetty 9.4.33.v20201020
Closes gh-23855
2020-10-26 10:25:19 +00:00
Andy Wilkinson 4588889da4 Upgrade to Tomcat 9.0.39
Closes gh-23854
2020-10-26 10:25:18 +00:00
Andy Wilkinson 1ef399b6fa Upgrade to Httpclient 4.5.13
Closes gh-23853
2020-10-26 10:25:16 +00:00
Andy Wilkinson e8cf97bdbb Upgrade to Byte Buddy 1.10.17
Closes gh-23852
2020-10-26 10:25:15 +00:00
Andy Wilkinson 46392bc50d Upgrade to Mysql 8.0.22
Closes gh-23851
2020-10-26 10:25:14 +00:00
Andy Wilkinson 39e81521cb Upgrade to Joda Time 2.10.8
Closes gh-23850
2020-10-26 10:25:13 +00:00
Andy Wilkinson 1cc0a45749 Upgrade to Undertow 2.0.32.Final
Closes gh-23849
2020-10-26 10:25:11 +00:00
Andy Wilkinson fc94588d9f Upgrade to Rxjava2 2.2.20
Closes gh-23848
2020-10-26 10:25:10 +00:00
Andy Wilkinson d6c20b917b Upgrade to Netty 4.1.53.Final
Closes gh-23847
2020-10-26 10:25:09 +00:00
Andy Wilkinson b0ddcdd695 Upgrade to Dropwizard Metrics 4.1.14
Closes gh-23846
2020-10-26 10:25:07 +00:00
Andy Wilkinson 91a71e3ca7 Upgrade to Hazelcast 3.12.10
Closes gh-23845
2020-10-26 10:25:06 +00:00
Andy Wilkinson 1b10af0c55 Upgrade to Caffeine 2.8.6
Closes gh-23844
2020-10-26 10:25:04 +00:00
Stephane Nicoll 59bcbd4885 Polish "Allow overriding image.cleanCache from the command-line"
See gh-32719
2020-10-26 10:44:57 +01:00
Kedar Joshi c2a483a78f Allow overriding image.cleanCache from the command-line
See gh-32719
2020-10-26 10:44:57 +01:00
Phillip Webb 771503f30d Attempt to fix flaky logging tests 2020-10-25 09:21:17 -07:00
Phillip Webb 70b7326b73 Refine exception handling in logging listener
Refine the exception handling block to cover initialization exceptions
without a log file.

Closes gh-23802
2020-10-25 09:21:17 -07:00
Andy Wilkinson c85cc33ca9 Fix main class resolution failure when loaded from config cache
See gh-22922
2020-10-25 08:05:59 +00:00
Stephane Nicoll cb31d9547c Merge branch '2.3.x' 2020-10-24 07:40:48 +02:00
Stephane Nicoll d1e503602b Polish 2020-10-24 07:39:50 +02:00
Stephane Nicoll 3adf167b47 Polish 2020-10-24 07:34:33 +02: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
Phillip Webb e790828e19 Allow TestPropertyValues.of to take a Map source
Extend the API of `TestPropertyValues` so that it can be constructed
from an existing `Map` or a `Stream` and mapping `Function`.

Closes gh-23685
2020-10-23 12:00:25 -07:00
Andy Wilkinson 7df18d9a91 Polish 2020-10-23 15:05:58 +01:00
Andy Wilkinson 2673bc00fd Adapt to breaking change in Framework's RouterFunctions.Visitor
See gh-23774
2020-10-23 15:04:43 +01:00
Andy Wilkinson 7cbcd42eba Adapt test to cope with increased Instant precision on Java 11
See gh-22922
2020-10-23 14:38:36 +01:00
Andy Wilkinson 4a4fec6310 Avoid calling getProject() during BootBuildImage's execution
See gh-22922
2020-10-23 13:23:52 +01:00
Andy Wilkinson c409d50c14 Document support for Gradle's configuration cache
See gh-22922
2020-10-23 12:34:27 +01:00
Andy Wilkinson 806464edd1 Update BootBuildImage to support Gradle's configuration cache
See gh-22922
2020-10-23 12:34:24 +01:00
Andy Wilkinson b1c4af4081 Update bootJar and bootWar to use new main class resolution mechanism
See gh-22922
2020-10-23 12:34:21 +01:00
Andy Wilkinson c078a48064 Update BootRun to support Gradle's configuration cache
See gh-22922
2020-10-23 12:34:15 +01:00
Andy Wilkinson d1f543fc1d Update BuildInfo to support Gradle's configuration cache
See gh-22922
2020-10-23 12:34:12 +01:00
Andy Wilkinson 83cfd3b2e6 Update BootWar to support Gradle's configuration cache
See gh-22922
2020-10-23 12:34:07 +01:00
Andy Wilkinson 081ef2d905 Update BootJar to support Gradle's configuration cache
See gh-22922
2020-10-23 12:34:04 +01:00
Andy Wilkinson c828521912 Allow tests to provide properties that modify the build.gradle script
See gh-22922
2020-10-23 12:34:01 +01:00
Andy Wilkinson d136324b99 Add support for testing the Gradle plugin with --configuration-cache
See gh-22922
2020-10-23 12:33:51 +01: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
Stephane Nicoll d0975d659f Polish "Remove RabbitMQ AutoConfig Boolean Coercion"
See gh-23799
2020-10-23 08:35:17 +02:00
Gary Russell 32ce453997 Remove RabbitMQ AutoConfig Boolean Coercion
See gh-23799
2020-10-23 08:32:41 +02:00
Phillip Webb da753300a1 Merge branch '2.3.x'
Closes gh-23819
2020-10-22 21:03:22 -07:00
Phillip Webb f84323fe3e Prevent duplicate jar entries from being written
Update the `AbstractJarWriter` so that it can directly build the layer
index as entries are written. Prior to this commit, a layer tracking
was handled by a decorator class which was broken because it didn't
override enough methods. Since `AbstractJarWriter` has quite a complex
API, it seems sensible to have it handle the layer index directly,
removing the need for a decorator entirely.

Fixes gh-23801
2020-10-22 20:55:09 -07: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
Scott Frederick 1907f3fe1e Merge branch '2.3.x'
Closes gh-23815
2020-10-22 14:20:35 -05: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
Brian Clozel 5eb1e26e10 Add HttpEncodingAutoConfiguration to WebMvcTest
Prior to this commit, tests using the `@WebMvcTest` annotation would not
include the `HttpEncodingAutoConfiguration`. This means that, even if
configured, the encoding filter would not be configured in MVC tests,
resulting in an inconsistency with `@SpringBootTest` tests.

This commit ensures that the `HttpEncodingAutoConfiguration` is included
when `@WebMvcTest` is used.

Fixes gh-23749
2020-10-22 20:02:45 +02:00
Andy Wilkinson 2d8528d5bd Adapt to deprecation of StringUtils.isEmpty(Object)
See gh-23774
2020-10-22 17:09:33 +01:00
Andy Wilkinson 3bfe1b00b5 Put module deps in app layer and make customization easier
Previously, when building a layered jar with Maven, dependencies
on modules in the same build were treated the same as any other
dependency, being included in the dependencies or snapshot dependencies
layer based on their version.

This commit updates the default layering when using Maven to include
dependencies on modules in the same build in the application layer by
default. The XML schema has also been updated to allow the layer to be
customized using new <includeModuleDependencies/> and
<excludeModuleDependencies/> elements rather than relying on including
and excluding them via a group:artifact:version pattern.

Closes gh-23463
2020-10-22 16:05:15 +01:00
Scott Frederick 43cfebaca0 Ignore properties files in hidden directories
This commit modifies the logic for finding properties files using
wildcard paths to ignore files if any part of the file path contains
a hidden directory. Hidden directories are common when Kubernetes
mounts config maps onto volumes in a pod, which was causing the same
properties files to be loaded multiple times.

Fixes gh-23160
2020-10-21 18:01:44 -05:00
Stephane Nicoll 37cbf1bb2d Start building against Spring Kafka 2.5.7 snapshots
See gh-23787
2020-10-21 15:27:42 +02:00
Stephane Nicoll 77637ddd7d Start building against Spring AMQP 2.2.12 snapshots
See gh-23784
2020-10-21 15:27:03 +02:00
Stephane Nicoll 55a0152fe5 Start building against Spring Integration 5.3.3 snapshots
See gh-23780
2020-10-21 15:26:27 +02:00
Stephane Nicoll 5e6595b771 Start building against Spring Data Neumann-SR5 snapshots
See gh-23777
2020-10-21 15:25:46 +02:00
Stephane Nicoll a601901a6c Start building against Spring Kafka 2.3.12 snapshots
See gh-23786
2020-10-21 15:06:01 +02:00
Stephane Nicoll 2415987c70 Start building against Spring AMQP 2.2.12 snapshots
See gh-23783
2020-10-21 15:05:07 +02:00
Stephane Nicoll bc8d200905 Start building against Spring Data Moore-SR11 Snapshots
See gh-23776
2020-10-21 15:04:18 +02:00
Stephane Nicoll 71bd5b29b3 Start building against Spring Framework 5.3.0 snapshots
See gh-23774
2020-10-21 10:21:34 +02:00
Stephane Nicoll 663ccd87d7 Start building against Reactor 2020.0.0 snapshots
See gh-23771
2020-10-21 10:20:00 +02:00
Stephane Nicoll e61595927b Start building against Reactor Dysprosium-SR13 snapshots
See gh-23770
2020-10-21 10:11:09 +02:00
Stephane Nicoll 551623435b Start building against Spring Framework 5.2.10 snapshots
See gh-23773
2020-10-21 09:49:47 +02:00
Stephane Nicoll 7b4e3462ec Start building against Reactor Dysprosium-SR13 snapshots
See gh-23769
2020-10-21 09:48:50 +02:00
Stephane Nicoll 17e12ea025 Polish "Add configuration options for RabbitMQ's batch listener config"
See gh-23766
2020-10-21 08:50:03 +02:00
Gary Russell 3aa247f1ca Add configuration options for RabbitMQ's batch listener config
See gh-23766
2020-10-21 08:50:03 +02:00
Phillip Webb fb25104151 Remove unnecessary code
Remove code from `LogbackLoggingSystem.loadDefaults` that sets Logback
context properties from the Spring Environment. The code should not be
required since `LoggingSystemVariables` will have already set system
variables for the logging config to use.

Closes gh-23767
2020-10-20 18:13:23 -07: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 e77dc60744 Add configuration properties for SAML2 relying party registration's ASM
This commit allows to configure the location and binding of the
Assertion Consumer Service used by a SAML2 relying party.

Closes gh-23746
2020-10-20 16:42:30 +02:00
Stephane Nicoll 72eaf93dba Polish assertions
See gh-23762
2020-10-20 14:37:15 +02:00
izeye 0e50e87e58 Polish
See gh-23762
2020-10-20 14:28:15 +02:00
Andy Wilkinson 0aa0cba3f7 Fix content filters when excludeProjectDependencies() is used
Fixes gh-23763
2020-10-20 13:09:59 +01:00
olivier.antoine ded2a8006a Expose BootBuildImage's cleanCache property as a command-line option
See gh-23753
2020-10-20 10:28:00 +02:00
Stephane Nicoll 9efff2af83 Merge branch '2.3.x'
Closes gh-23735
2020-10-20 10:08:21 +02:00
Stephane Nicoll f4e822f650 Prevent access to the EMF within the singleton lock
This commit makes sure to defer registration of hibernate statistics
outside of the singleton lock as it can lead to deadlocks when the
EntityManagerFactory is initialized in deferred mode.

Closes gh-23740
2020-10-20 09:59:07 +02:00
Stephane Nicoll b7a8b0f19b Hacking
See gh-23740
2020-10-20 09:32:40 +02:00
Scott Frederick 38984985d4 Add support for CNB platform API 0.4
This commit adds support for platform API 0.4 when invoking a CNB
builder in the Maven and Gradle plugins. If the builder advertises
that it supports platform API 0.4 then that version will be
requested when invoking lifecycle phases. Otherwise the plugins
will fall back to requesting platform API 0.3.

Requesting platform API 0.4 when invoking builder lifecycle phases
has the primary benefit of making it easier to pass command-line
arguments to the default process in the generated image.

Fixes gh-23692
2020-10-19 17:33:40 -05:00
Scott Frederick 38b1954ab1 Polish Maven plugin javadoc
This commit polishes the javadoc for Maven plugin classes now that
the plugin reference docs link to the javadoc. Visibility of some
MOJO parameter class getters and setters were also changed for
consistency.

See gh-21555
2020-10-19 15:38:02 -05:00
Andy Wilkinson 0f069ee9c6 Merge branch '2.3.x'
Closes gh-23756
2020-10-19 19:28:32 +01:00
Andy Wilkinson 633027b1cd Upgrade to Gradle 6.7
Closes gh-23754
2020-10-19 17:52:01 +01:00
Andy Wilkinson 3f1f830efe Fail if management.server.address is set but actuator is on the same port
Closes gh-22187
2020-10-19 15:21:11 +01:00
Andy Wilkinson a0afb73923 Merge branch '2.3.x'
Closes gh-23751
2020-10-19 14:32:38 +01:00
Andy Wilkinson a754b791a2 Merge branch '2.2.x' into 2.3.x
Closes gh-23750
2020-10-19 14:32:23 +01:00
Andy Wilkinson 11bc62fb83 Stop using PostConstruct to default session timeout to ServerProperties'
Fixes gh-23716
2020-10-19 14:31:01 +01:00
Andy Wilkinson 4a38401cef Align relying party entity ID property with Spring Security
Closes gh-23745
2020-10-19 14:02:04 +01: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
Andy Wilkinson 6f7234ff4e Upgrade to MSSQL JDBC 8.4.1.jre8
Closes gh-23742
2020-10-19 10:29:11 +01:00
Andy Wilkinson 01077d8ced Merge branch '2.3.x'
Closes gh-23744
2020-10-19 10:25:50 +01:00
Andy Wilkinson e8187f9bb0 Merge branch '2.2.x' into 2.3.x
Closes gh-23743
2020-10-19 10:25:24 +01:00
Andy Wilkinson 2a40bd7853 Register shutdown hook so it can tidy up a partial refresh
Previously, the shutdown hook was only registered once refresh has
completed. If the JVM was shut down during refresh (or after refresh
and before the hook was registered) the hook wouldn't run and the
partially refreshed context would not be cleaned up.

This commit moves the registration of the shutdown hook to before
refresh processing begins. This ensures that the hook is available
to clean up the context if the JVM is shutdown while refresh is in
progress.

Fixes gh-23625
2020-10-19 09:16:07 +01:00
dreis2211 47bac6a90d Fix links to Spring Framework documentation
See gh-23737
2020-10-19 08:13:24 +02:00
Andy Wilkinson 6898a97102 Merge branch '2.3.x'
Closes gh-23732
2020-10-17 07:55:43 +01:00
Andy Wilkinson 11b5e86ffd Deprecate BootJar#getConfigurations
Fixes gh-23527
2020-10-17 07:54:38 +01:00
Johnny Lim 20f1c0ef0e Polish
See gh-23720
2020-10-17 08:14:32 +02:00
Stephane Nicoll 8d4498ef6c Merge branch '2.3.x' 2020-10-17 08:00:00 +02:00
Asha Somayajula c4a5a34702 Fix detection logic for embedded databases
Closes gh-23721
2020-10-17 07:51:24 +02:00
Stephane Nicoll bebdee3709 Polish
See gh-23693
2020-10-17 07:30:12 +02:00
Scott Frederick d44ecf5086 Merge branch '2.3.x'
Closes gh-23731
2020-10-16 18:00:09 -05:00
Scott Frederick 9c672deb2d Add javadoc links in Maven plugin parameter docs
This commit modifies the documentation generated for the
Maven plugin to include links to javadoc when Spring
Boot types are mentioned. Some javadoc was also polished
to improve the generated docs.

Fixes gh-21555
2020-10-16 17:45:46 -05:00
Andy Wilkinson d005a64c9f Revert "Rename CompositeMeterRegistryAutoConfiguration"
This reverts commit 9460d74e8a.

Fixes gh-23724
2020-10-16 17:47:48 +01:00
Andy Wilkinson f0b0a073c3 Remove unwanted titles from config blocks
Closes gh-23722
2020-10-16 17:43:57 +01:00
Stephane Nicoll 0007961805 Add reference to JobRunr Spring Boot starter
Closes gh-23725
2020-10-16 18:09:34 +02:00
Stephane Nicoll c0b267feb4 Polish "Fix detection logic for embedded databases"
See gh-23693
2020-10-16 16:32:29 +02:00
Asha Somayajula ab02084e7b Fix detection logic for embedded databases
See gh-23693
2020-10-16 15:54:54 +02:00
Stephane Nicoll 2916bb4c10 Merge branch '2.3.x'
Closes gh-23718
2020-10-16 11:00:31 +02:00
Stephane Nicoll 6beb0c939f Document how to override plugin configuration on the command line
Closes gh-21536
2020-10-16 10:57:30 +02:00
Stephane Nicoll b210d0680a Polish 2020-10-16 10:34:58 +02:00
Phillip Webb bc7b6bdd88 Polish 2020-10-15 15:29:54 -07:00
Phillip Webb e360e4a75e Polish 'Add a FailureAnalyzer for ConfigDataNotFound'
See gh-23633
2020-10-15 12:11:29 -07:00
Michal Mlak be7d697121 Add a FailureAnalyzer for ConfigDataNotFound
Add a `FailureAnalyzer` to deal with `ConfigDataNotFoundException`.

See gh-23633
2020-10-15 12:05:21 -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
Phillip Webb f89b99bdbc Allow FailureAnalizers without ApplicationContext
Update `SpringApplication` so that `FailureAnalyzers` apply even if
the `ApplicationContext` was not created. If no `ApplicationContext`
is available, only `FailureAnalyzer` instances that do not implement
any `Aware` interfaces are considered.

Closes gh-23710
2020-10-15 11:18:26 -07:00
Andy Wilkinson 84f96033c5 Put project deps in app layer and make customization easier
Previously, when building a layered jar with Gradle, project
dependencies were treated the same as any other dependency, being
included in the dependencies or snapshot dependencies layer based
on their version.

This commit updates the default layering when using Gradle to include
project dependencies in the application layer by default. The DSL has
also been updated to allow their layer to be customized using new
includeProjectDependencies() and excludeProjectDependencies() methods
rather than relying on including and excluding them via a
group:artifact:version pattern.

Closes gh-23431
2020-10-15 16:04:02 +01:00
Stephane Nicoll 89b11b0078 Upgrade to Liquibase 3.10.3
This commit upgrades to Liquibase 3.10.3 and adds an explicit exclude
check as this version started to include a "banner.txt" at the root of
the classpath. Given it may override a banner configured by the user it
is ignored so that the default banner is displayed.

Users impacted by this change can rename their banner and configure the
"spring.banner.location" property to point to it.

Closes gh-23658
2020-10-15 10:20:28 +02:00
Johnny Lim 915e470510 Upgrade to spring-asciidoctor-extensions 0.5.0
See gh-23694
2020-10-15 09:08:15 +02:00
Stephane Nicoll 2f48ab119b Upgrade to Spring AMQP 2.3.0-RC1
Closes gh-23680
2020-10-15 09:06:26 +02:00
Stephane Nicoll 0c48370112 Upgrade to Spring Kafka 2.6.2
Closes gh-23679
2020-10-15 09:06:01 +02:00
Stephane Nicoll f79cee92a9 Upgrade to Spring Integration 5.4.0-RC1
Closes gh-23695
2020-10-15 09:05:22 +02:00
Scott Frederick de991616b0 Use config map name for configtree property sources
When Kubernetes mounts config maps onto volumes in a pod, it creates
hidden files on the pod filesystem with symbolic links to the
hidden files. The symlinks are named for the user-provided config
map that was mounted, while the hidden files have system-generated
names.

Prior to this commit, the property sources created by the
configtree property source were added to the environment using the
system-generated hidden file name instead of the user-provided
symlink name. This commit corrects that behavior so the property
sources are named as a user would expect.

Fixes gh-23232
2020-10-14 21:02:55 -05:00
Andy Wilkinson d0c6dbc2c7 Rename eagerInitFilters to align with Undertow's naming
Closes gh-23674
2020-10-14 18:03:06 +01:00