Commit Graph

5386 Commits

Author SHA1 Message Date
Andy Wilkinson e201b94d4f Merge branch '3.3.x'
Closes gh-41616
2024-07-25 16:17:52 +01:00
Andy Wilkinson c642f6d268 Merge branch '3.2.x' into 3.3.x
Closes gh-41613
2024-07-25 16:16:35 +01:00
Andy Wilkinson 5f666eec5b Reduce warnings reported by Eclipse
Closes gh-41598
2024-07-25 14:55:00 +01:00
Andy Wilkinson 12ec18fd31 Consider fallback beans when evaluating ConditionalOnSingleCandidate
Closes gh-41580
2024-07-23 18:28:07 +01:00
maxhov 3561ab8300 Allow configuring custom GraphQL argument resolvers
This commit gathers `HandlerMethodArgumentResolver` beans contributed by
the application and sets them up on the auto-configured
`AnnotatedControllerConfigurer` bean.

This allows easier registrationsfor custom argument resolvers in Spring
for GraphQL applications.

Closes gh-40393
2024-07-23 17:32:52 +02:00
Phillip Webb 88480664d7 Polish 2024-07-22 19:59:27 +01:00
Phillip Webb 000600c68a Merge branch '3.3.x' 2024-07-22 18:41:53 +01:00
Andy Wilkinson 64a0cf8275 Merge branch '3.3.x'
Closes gh-41544
2024-07-17 12:26:13 +01:00
Andy Wilkinson 1a6760e21d Polish "Add configuration property to allow multiple issuers"
See gh-41355
2024-07-17 12:03:34 +01:00
shenqicheng b0b97fb1d2 Add configuration property to allow multiple issuers
See gh-41355
2024-07-17 11:59:14 +01:00
Stéphane Nicoll fc2890d1cd Use native connection factory with message listener containers
This commit updates the auto-configuration to use the native connection
factory for configuring message listener containers. Previously, the
connection factory that could have been wrapped in a caching connection
factory was used.

While using a caching connection factory is suitable for sending
messages (i.e. JmsTemplate usage), it isn't for message listeners as
they need to own the connection for local recovery purposes.

Closes gh-39816
2024-07-17 10:41:12 +02:00
Stéphane Nicoll d26ce6cb52 Merge branch '3.3.x' 2024-07-17 09:47:20 +02:00
Stéphane Nicoll f7780b4fef Polish 2024-07-17 09:46:25 +02:00
Andy Wilkinson a61abb0d74 Merge branch '3.3.x'
Closes gh-41522
2024-07-16 12:05:21 +01:00
Andy Wilkinson f062c46154 Merge branch '3.2.x' into 3.3.x
Closes gh-41521
2024-07-16 12:05:02 +01:00
Andy Wilkinson 1cc7498c9a Add property for Integration's default endpoint timeout
Fixes gh-41477
2024-07-16 11:22:27 +01:00
Andy Wilkinson 350a70199c Merge branch '3.3.x'
Closes gh-41519
2024-07-16 08:48:05 +01:00
Andy Wilkinson 754e71d265 Merge branch '3.2.x' into 3.3.x
Closes gh-41518
2024-07-16 08:47:49 +01:00
Andy Wilkinson 17d6f90468 Document types to which format properties apply
Closes gh-41482
2024-07-16 08:47:30 +01:00
Andy Wilkinson fba6f29bc8 Merge branch '3.3.x'
Closes gh-41505
2024-07-15 15:35:47 +01:00
Andy Wilkinson 999d99e655 Merge branch '3.2.x' into 3.3.x
Closes gh-41504
2024-07-15 15:35:31 +01:00
Andy Wilkinson d63e3c3b53 Rethrow failure on main thread
Previously, if a failure occurred when evaluating conditions on a
separate thread, an NPE would occur on the main thread as the
expected array of outcomes was null.

This commit avoids the NPE and the lack of error reporting by
rethrowing on the main thread any failure that occurs on the
separate thread that's spawned to parallelize the evaluation.

Closes gh-41492
2024-07-15 15:09:57 +01:00
Phillip Webb 89f3052f6e Migrate `PulsarPropertiesMapper` to use `JsonWriter`
Closes gh-41490
2024-07-15 11:45:41 +01:00
Brian Clozel c693b2bd8c Add support for webjars-locator-lite
This is a follow-up to spring-projects/spring-framework#27619
This commit adds support for "org.webjars:webjars-locator-lite" for
enabling the statis resources chain.

As of this commit, support for "org.webjars:webjars-locator-core" is
deprecated for obvious performance reasons.

Closes gh-40146
2024-07-12 19:17:17 +02:00
Andy Wilkinson 8676cc6256 Deprecate Gson lenient property and introduce strictness replacement
Closes gh-41430
2024-07-12 10:55:51 +01:00
Andy Wilkinson 870739955b Polish "Group Kafka back-off properties"
See gh-41335
2024-07-11 13:09:39 +01:00
Travis Riegler 14c9893371 Group Kafka back-off properties
Kafka back-off policy properties "delay", "max-delay", "multiplier",
and "random-back-off" are now defined in a common "backoff" group:

- spring.kafka.retry.topic.backoff.delay
- spring.kafka.retry.topic.backoff.maxDelay
- spring.kafka.retry.topic.backoff.multiplier
- spring.kafka.retry.topic.backoff.random

See gh-41335
2024-07-11 13:09:39 +01:00
Andy Wilkinson d07fe47102 Merge branch '3.3.x'
Closes gh-41447
2024-07-11 13:09:26 +01:00
Andy Wilkinson 784c8d2df4 Avoid duplicate junit-platform.properties files caused by Kafka
Gradle doesn't support excluding a dependency that's declared with a
classifier. Instead, this commit replaces the test-qualified
kafka-server-common dependency with the plain dependency. The plain
dependency was already present so this is equivalent to excluding
the test-qualified dependency.

Closes gh-41446
2024-07-11 13:08:58 +01:00
Andy Wilkinson 375b3b16a0 Remove APIs that were deprecated for removal in 3.4.0
Closes gh-41435
2024-07-10 13:31:21 +01:00
Andy Wilkinson 6cb35f7209 Adapt to changes in Oracle Database 23.4.0.24.05
See gh-41147
2024-07-09 18:48:31 +01:00
Andy Wilkinson e55a730ea0 Upgrade to Gson 2.11.0
Closes gh-41407
2024-07-09 16:06:57 +01:00
Andy Wilkinson d96cc210ae Upgrade to Artemis 2.35.0
Closes gh-41400
2024-07-09 16:06:53 +01:00
Johnny Lim 3aee73004a Polish RabbitTemplateConfigurer allowed-list-patterns
Closes gh-41349
2024-07-08 15:35:48 -05:00
Johnny Lim 97956165dc Polish RabbitTemplateConfigurer allowed-list-patterns
See gh-41323
2024-07-08 15:24:30 -05:00
Moritz Halbritter cf2b08b8a6 Polish "Add SslBundle support to MailSender"
See gh-40037
2024-07-04 15:42:24 +02:00
Rui Figueira e7424eacf8 Add SslBundle support to MailSender
See gh-40037
2024-07-04 15:13:15 +02:00
Stéphane Nicoll 156237227c Migrate MockMvc tests to MockMvcTester
See gh-41198
2024-07-03 15:09:10 +02:00
Moritz Halbritter 7c3576bda8 Polish "Add ProxyConnectionFactoryCustomizer"
See gh-40555
2024-06-28 14:41:04 +02:00
Andy Wilkinson 1dfb4c9719 Polish "Add a customizer for Lettuce's ClientOptions"
See gh-40484
2024-06-27 16:37:44 +01:00
임수현 c517664f08 Add a customizer for Lettuce's ClientOptions
See gh-40484
2024-06-27 16:29:36 +01:00
Andy Wilkinson 7e04ac2967 Polish "Make it easier to override RequestToViewNameTranslator bean"
See gh-40874
2024-06-27 15:29:37 +01:00
rohit patidar 062ed4ba2b Make it easier to override RequestToViewNameTranslator bean
See gh-40874
2024-06-27 15:17:49 +01:00
Andy Wilkinson 5b7365b63b Merge branch '3.3.x'
Closes gh-41258
2024-06-27 10:25:32 +01:00
Andy Wilkinson b0d4f1d356 Merge branch '3.2.x' into 3.3.x
Closes gh-41257
2024-06-27 10:16:36 +01:00
Andy Wilkinson 654016af7f Move Docker-related test support into a separate module
See gh-41228
2024-06-26 19:47:35 +01:00
Andy Wilkinson 9f166f2c85 Update spring-boot-autoconfigure to use docker-test plugin
See gh-41228
2024-06-26 19:46:33 +01:00
Andy Wilkinson 0ad5aa7400 Enable customization of properties used to create JCache CacheManager
Closes gh-39350
2024-06-24 15:07:31 +01:00
Andy Wilkinson 5920b27b57 Upgrade to Flyway 10.15.0
Closes gh-41217
2024-06-24 14:39:23 +01:00
Andy Wilkinson 6bdba8e69e Revert "Enable customization of properties used to create JCache CacheManager"
This reverts commit 622c9ed882 that was
pushed accidentally.
2024-06-24 12:03:23 +01:00
Andy Wilkinson 94336ab314 Merge branch '3.3.x'
Closes gh-41215
2024-06-24 11:52:03 +01:00
Andy Wilkinson adb9747652 Merge branch '3.2.x' into 3.3.x
Closes gh-41214
2024-06-24 11:51:48 +01:00
Andy Wilkinson b8927ebd90 Create ActiveMQConnectionFactory without using reflection
Fixes gh-41212
2024-06-24 11:51:31 +01:00
Andy Wilkinson 622c9ed882 Enable customization of properties used to create JCache CacheManager 2024-06-24 09:32:56 +01:00
Moritz Halbritter 6aeab4461e Polish "Auto-configure SpringLiquibase with Liquibase Customizer"
See gh-40986
2024-06-21 12:57:25 +02:00
Ahmed Ashour 32f509c0c4 Auto-configure SpringLiquibase with Liquibase Customizer
See gh-40986
2024-06-21 11:51:24 +02:00
Stéphane Nicoll fe4c34d226 Adapt test to include MappingJackson2CborHttpMessageConverter
See spring-projects/spring-framework#32428

See gh-41177
2024-06-20 20:18:08 +01:00
Stéphane Nicoll 2053e13c09 Adapt to new Placeholder resolution API
See gh-41177
2024-06-20 20:18:07 +01:00
Moritz Halbritter e7ffeb3dc9 Use Tomcat's new setter for max queue size
Closes gh-41093
Closes gh-40957
Closes gh-40945
2024-06-20 08:39:03 +02:00
Phillip Webb 9dda006a18 Merge branch '3.2.x' 2024-06-19 22:55:00 -07:00
Phillip Webb 2a4582b084 Update copyright year of changed files 2024-06-19 22:54:40 -07:00
Phillip Webb 905d6b96d0 Merge branch '3.2.x'
Closes gh-41166
2024-06-19 22:30:58 -07:00
Andy Wilkinson 491f34d25c Improve container test code
Replace `DockerImageNames` with a enum and relocate it from the
`testcontainers` to `container` package. The enum now also
becomes a common location that we can use to apply container
configuration such as timeouts.

Closes gh-41164

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2024-06-19 20:10:03 -07:00
Phillip Webb 8a9feb0bb6 Merge branch '3.2.x'
Closes gh-41141
2024-06-17 16:51:53 -07:00
Phillip Webb 60b7e6cf23 Allow 'status' and 'error' to be excluded from error response
Update `ErrorAttributeOptions` to allow the `status` and `error`
fields to be excluded from the response without throwing a
NullPointerException.

Fixes gh-30011
2024-06-17 16:48:28 -07:00
Moritz Halbritter 76e2009bd8 Merge branch '3.2.x'
Closes gh-41084
2024-06-12 11:12:07 +02:00
Moritz Halbritter fed13b0e0c Back off if DataSource is not on the classpath
Closes gh-41082
2024-06-12 11:02:51 +02:00
Phillip Webb 147240aa0c Merge branch '3.2.x'
Closes gh-41080
2024-06-11 13:32:30 -07:00
Phillip Webb bcbcafaab2 Polish "Use method references when possible in test code"
See gh-40974
2024-06-11 12:58:04 -07:00
Ahmed Ashour 207327d97c Use method references when possible in test code
See gh-40974
2024-06-11 12:58:00 -07:00
Phillip Webb dcccb3b2b1 Polish "Use method references when possible"
See gh-40974
2024-06-11 12:57:59 -07:00
Ahmed Ashour 507229eef8 Use method references when possible
See gh-40974
2024-06-11 12:57:55 -07:00
Phillip Webb 255bcc28e6 Merge branch '3.2.x'
Closes gh-41077
2024-06-11 10:48:52 -07:00
Phillip Webb ecc9a2352d Polish "Use constructor rather than Collection.addAll"
See gh-41053
2024-06-11 10:02:27 -07:00
Piyal Ahmed 17adcfc180 Use constructor rather than Collection.addAll
See gh-41053
2024-06-11 09:39:45 -07:00
Phillip Webb d37098153c Polish 2024-06-11 09:35:59 -07:00
Scott Frederick fa131fa6a0 Merge branch '3.2.x'
Closes gh-40959
2024-05-30 15:16:27 -05:00
Ahmed Ashour f000af6a12 Remove unused parameter and polish javadoc
See gh-40955
2024-05-30 14:42:46 -05:00
Andy Wilkinson 087789bda3 Merge branch '3.2.x'
Closes gh-40953
2024-05-30 08:05:09 +01:00
Andy Wilkinson 211bf95f45 Revert "Adapt to Spring Data Neo4j now requiring a transaction manager"
This reverts commit b6467ed826. Changes
in Spring Data Neo4j mean that these changes are no longer necessary.
They also caused a problem with multiple transaction managers being
present when mixing Neo4j and, say, Data JPA.

Closes gh-40895
2024-05-30 08:00:11 +01:00
Andy Wilkinson 10e23b8f35 Polish "Fix Flyway 10 in a GraalVM native image"
See gh-40821
2024-05-29 14:21:17 +01:00
Maziz 345edb1301 Fix Flyway 10 in a GraalVM native image
See gh-40821
2024-05-29 14:18:10 +01:00
Phillip Webb 82d8222f56 Polish 2024-05-24 18:10:03 -07:00
Moritz Halbritter 3858a33162 Merge branch '3.2.x'
Closes gh-40869
2024-05-22 13:49:35 +02:00
Chris Bono 7a7bcd07da Encode JSON string in Pulsar auth params
The values in the `spring.pulsar.client.authentication.param`
config props map are not currently JSON encoded. For simple
values this is fine. However, some custom auth modules may
require more complex parameter values that may contain special
characters that results in invalid JSON. This commmit encodes
the parameter values using a very simple hand-rolled escape
function.

See gh-40493
2024-05-22 13:49:05 +02:00
Andy Wilkinson da4c2db3a7 Ensure default mime mappings are applied
Fixes gh-40860
2024-05-22 12:19:31 +01:00
Piyal Ahmed 21df3ff1de Fix typo in Neo4jReactiveDataAutoConfiguration class
See gh-40836
2024-05-22 11:22:46 +02:00
Andy Wilkinson fa074196d3 Merge branch '3.2.x'
Closes gh-40851
2024-05-21 10:44:41 +01:00
Andy Wilkinson a894879085 Use DefaultDbRefResolver whenever MongoDatabaseFactory is available
Fixes gh-39405
2024-05-21 10:29:39 +01:00
Andy Wilkinson 63515012d8 Merge branch '3.2.x'
Closes gh-40850
2024-05-21 10:29:12 +01:00
Andy Wilkinson 823cc90b46 Merge branch '3.1.x' into 3.2.x
Closes gh-40849
2024-05-21 10:28:59 +01:00
Andy Wilkinson f692fb1471 Ensure that Hazelcast binds to localhost for client tests
Closes gh-40848
2024-05-21 10:28:49 +01:00
Andy Wilkinson a40ecafe36 Merge branch '3.2.x'
Closes gh-40839
2024-05-20 15:55:16 +01:00
Andy Wilkinson b718e5806f Merge branch '3.1.x' into 3.2.x
Closes gh-40838
2024-05-20 15:55:00 +01:00
Andy Wilkinson 1d91757061 Document that HttpMessageConverters can be used for reordering/removal
Closes gh-40767
2024-05-20 15:54:12 +01:00
Andy Wilkinson e752295dca Merge branch '3.2.x'
Closes gh-40831
2024-05-20 10:15:18 +01:00
Andy Wilkinson 75976713fe Polish "Fix typo in CertificateMatchingTestSource class"
See gh-40822
2024-05-20 10:14:45 +01:00
Piyal Ahmed 092e921433 Fix typo in CertificateMatchingTestSource class
See gh-40822
2024-05-20 10:13:39 +01:00
Moritz Halbritter d98987f11e Merge branch '3.2.x'
Closes gh-40701
2024-05-13 11:31:55 +02:00
Moritz Halbritter 364af04377 Merge branch '3.1.x' into 3.2.x
Closes gh-40700
2024-05-13 11:30:42 +02:00
Yanming Zhou 0e450d602d Use CollectionUtils.isEmpty() and StringUtils.hasLength()
See gh-40645
2024-05-13 11:26:56 +02:00
Andy Wilkinson 53e1c7ed7d Include Kotlin API documentation in the documentation site
Closes gh-40692
2024-05-10 14:56:33 +01:00
Moritz Halbritter d3e49747b0 Merge branch '3.2.x' 2024-05-02 14:48:37 +02:00
Moritz Halbritter 75dac1435f Merge branch '3.1.x' into 3.2.x 2024-05-02 14:48:04 +02:00
Moritz Halbritter 68a63a7797 Polish 2024-05-02 14:47:53 +02:00
Phillip Webb ad7ab41742 Merge branch '3.2.x'
Closes gh-40601
2024-05-01 22:57:08 -07:00
Phillip Webb 93728cdfb1 Merge branch '3.1.x' into 3.2.x
Closes gh-40600
2024-05-01 22:55:30 -07:00
Johnny Lim f0fcc92b49 Remove reassignments for builders in GraphQL auto-configurations
See gh-40590
2024-05-01 22:51:19 -07:00
Scott Frederick c6c02906ef Merge branch '3.2.x'
Closes gh-40577
2024-04-29 16:43:20 -05:00
Scott Frederick 21a0bc7fee Merge branch '3.1.x' into 3.2.x
Closes gh-40576
2024-04-29 16:42:53 -05:00
Johnny Lim e2973a90a8 Use ConcurrentHashMap.newKeySet where feasible
See gh-40567
2024-04-29 15:41:37 -05:00
Moritz Halbritter 12cfb1fd2f Merge branch '3.2.x'
Closes gh-40560
2024-04-29 10:04:32 +02:00
Moritz Halbritter 8a3b0cd221 Throw dedicated exception if bundle content is not watchable
This also adds a FailureAnalyzer which prints a helpful message how to
fix that problem.

Closes gh-38903
2024-04-29 09:46:19 +02:00
Andy Wilkinson aeb5b1ffe3 Merge branch '3.2.x'
Closes gh-40523
2024-04-25 13:45:12 +01:00
Andy Wilkinson 79c3f0335b Merge branch '3.1.x' into 3.2.x
Closes gh-40522
2024-04-25 13:43:03 +01:00
Andy Wilkinson 27418edeb0 Remove references to s.j.generate-ddl in favor of s.j.hibernate.ddl-auto
Closes gh-40503
2024-04-25 13:39:28 +01:00
Andy Wilkinson f1d0bcda2f Revert "Remove references to s.j.generate-ddl in favor of s.j.hibernate.ddl-auto"
This reverts commit 273f8e20c2.
2024-04-25 12:44:51 +01:00
Andy Wilkinson 273f8e20c2 Remove references to s.j.generate-ddl in favor of s.j.hibernate.ddl-auto 2024-04-25 12:24:47 +01:00
Scott Frederick fd010988ef Merge branch '3.2.x'
Closes gh-40479
2024-04-22 14:38:37 -05:00
Scott Frederick 3a9ee9f1a7 Merge branch '3.1.x' into 3.2.x
Closes gh-40478
2024-04-22 14:38:28 -05:00
Scott Frederick 362c0c1b4e Verify alignment of MongoDB UUID representation defaults
Closes gh-33532
2024-04-22 14:38:18 -05:00
Moritz Halbritter 9184448054 Merge branch '3.2.x'
Closes gh-40471
2024-04-22 14:34:48 +02:00
Moritz Halbritter 4b61ae415b Merge branch '3.1.x' into 3.2.x
Closes gh-40470
2024-04-22 14:34:36 +02:00
Moritz Halbritter 5510c6f61b Clarify that all named properties must match for @ConditionalOnProperty to match
Closes gh-40110
2024-04-22 14:27:54 +02:00
Johnny Lim 3c76f81fe3 Polish
See gh-40449
2024-04-22 12:27:49 +01:00
Andy Wilkinson 4118de7f59 Merge branch '3.2.x'
Closes gh-40467
2024-04-22 12:11:04 +01:00
Andy Wilkinson 07bb1878cf Merge branch '3.1.x' into 3.2.x
Closes gh-40466
2024-04-22 12:10:52 +01:00
Andy Wilkinson 34f53d48b9 Polish "Fix handling of Redis nodes with IPv6 addresses"
See gh-39819
2024-04-22 11:51:31 +01:00
Tobias Laatsch 9b326d59fe Fix handling of Redis nodes with IPv6 addresses
See gh-39819
2024-04-22 11:33:09 +01:00
Phillip Webb 6963bd884b Merge branch '3.2.x' 2024-04-18 12:53:26 -07:00
Phillip Webb 38af8cd362 Merge branch '3.1.x' into 3.2.x 2024-04-18 12:52:54 -07:00
Yanming Zhou 6226faa9cd Polishing RabbitAutoConfigurationTests to use kebab-case keys
See gh-40422
2024-04-18 12:51:35 -07:00
Phillip Webb dc76240612 Polish 2024-04-18 12:50:50 -07:00
Phillip Webb d243d7eb50 Polish 'Add `spring.rabbitmq.template.allowed-list-patterns` property'
See gh-40421
2024-04-18 12:48:39 -07:00
Yanming Zhou c329c5fe5b Add `spring.rabbitmq.template.allowed-list-patterns` property
Update `RabbitProperties` and `RabbitTemplateConfigurer` to support a
`spring.rabbitmq.template.allowed-list-patterns` property.

The can be used to prevent errors of the form:

	java.lang.SecurityException: Attempt to deserialize unauthorized
	class com.example.domain.Message; add allowed class name patterns
	to the message converter or, if you trust the message orginiator,
	set environment variable 'SPRING_AMQP_DESERIALIZATION_TRUST_ALL'
	or system property 'spring.amqp.deserialization.trust.all' to true

See gh-40421
2024-04-18 12:46:38 -07:00
Yanming Zhou a52ab774de Configure JpaBaseConfiguration with custom ManagedClassNameFilter
Update `JpaBaseConfiguration` to configure a `ManagedClassNameFilter`
if one is available.

See gh-39813
2024-04-18 12:08:06 -07:00
Chris Bono 08ad7aa444 Add Spring Pulsar transaction support
Adds auto-config for Spring for Apache Pulsar transactions.

Introduces a new `spring.pulsar.transaction.enabled` property
which can be used to enable transactions. This feature is
opt-in and remains disabled by default.

See gh-40189

Co-authored-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2024-04-17 19:30:58 -07:00
Andy Wilkinson 4fd0375eb1 Adapt tests to addition of new JWT validator in Spring Security
See gh-40230
2024-04-12 12:14:05 +01:00
Andy Wilkinson 12e004f131 Revert "Exclude unwanted javax.inject dependency from Data Couchbase"
This reverts commit 06f5ab162f. The
dependency has been removed in Data Couchbase, making the exclude
unnecessary.

See gh-40200
2024-04-12 11:19:16 +01:00
Brian Clozel 04faec1d3e Add spring.graphql.websocket.keep-alive property
As of spring-projects/spring-graphql#534, Spring for GraphQL supports
the configuration of keep-alive PINGs for WebSocket connections.
This commit auto-configures this value in the `GraphQlWebSocketHandler`
WebFlux and MVC implementations if the
`spring.graphql.websocket.keep-alive` property is configured.

Closes gh-40320
2024-04-11 18:52:00 +02:00
Andy Wilkinson 1ea6f2f51f Revert "Revert "Exclude unwanted javax.inject dependency from Data Couchbase""
This reverts commit 3b76165f4e.

Turns out, the exclude's still needed for now? with Data Couchbase
5.1.x.

See gh-40200
2024-04-11 17:06:03 +01:00
Andy Wilkinson 93c8513a78 Merge branch '3.2.x'
See gh-40224
2024-04-11 16:56:41 +01:00
Andy Wilkinson 7d3ea3f06f Merge branch '3.1.x' into 3.2.x
See gh-40212
2024-04-11 16:56:22 +01:00
Andy Wilkinson 3b76165f4e Revert "Exclude unwanted javax.inject dependency from Data Couchbase"
This reverts commit 06f5ab162f. The
dependency has been removed in Data Couchbase, making the exclude
unnecessary.

See gh-40200
2024-04-11 16:55:24 +01:00
Andy Wilkinson 21bd300e09 Polish "Delay interaction with Lazy CqlSession bean until first usage"
See gh-39948
2024-04-10 18:16:31 +01:00
Christoph Strobl 8343942147 Delay interaction with Lazy CqlSession bean until first usage
Though the CqlSession provided by the CassandraAutoConfiguration can
be lazy, the configuration for Data Cassandra triggers early bean
instantiation. This commit uses new APIs in Data Cassandra to make
use of the intended lazy bean initialization and therefore prevents
the application from failing to start up when Cassandra might not yet
be ready.

See gh-39948
2024-04-10 17:53:53 +01:00
Andy Wilkinson 5166942ce7 Polish "Upgrade to MongoDB 5.0"
See gh-39989
2024-04-09 10:48:53 +01:00
Christoph Strobl 35bc0f9f21 Upgrade to MongoDB 5.0
See gh-39989
2024-04-09 10:44:03 +01:00
Andy Wilkinson 3699bcfb87 Merge branch '3.2.x'
See gh-40224
2024-04-09 09:09:12 +01:00
Andy Wilkinson 3bb7baf90f Merge branch '3.1.x' into 3.2.x
See gh-40212
2024-04-09 09:07:52 +01:00
Andy Wilkinson 06f5ab162f Exclude unwanted javax.inject dependency from Data Couchbase
See gh-40200
2024-04-09 09:07:13 +01:00
Phillip Webb 3ed77ae5f3 Polish 2024-04-04 23:45:21 -07:00
Phillip Webb f7397b9557 Merge branch '3.2.x' 2024-04-04 23:45:15 -07:00
Phillip Webb ea52a44e62 Polish 2024-04-04 20:55:52 -07:00
Phillip Webb f1018ba38a Merge branch '3.1.x' into 3.2.x 2024-04-04 20:36:29 -07:00
Phillip Webb 21f5d375b7 Polish 2024-04-04 20:14:01 -07:00
Moritz Halbritter e9e2bc94f8 Merge branch '3.2.x'
Closes gh-40169
2024-04-04 13:05:34 +02:00
Moritz Halbritter fe7501b292 Use named virtual threads for Jetty
Closes gh-40152
2024-04-04 11:44:14 +02:00
Scott Frederick ad79c373f8 Add SNI support to web server SSL auto-configuration
Properties under `server.ssl.server-name-bundles` and
`management.server.ssl.server-name-bundles` can be used to configure
mappings of host names to SSL bundles to support SNI in embedded web
servers.

Closes gh-26022
2024-03-28 14:12:20 -05:00
Johnny Lim 2b5d0b3f4f Make PropertiesLdapConnectionDetails package-private
See gh-40081
2024-03-26 09:01:01 +01:00
Moritz Halbritter 985918b34a Make configuration properties for Pulsar failover more concise
Closes gh-40077
2024-03-22 13:44:24 +01:00
Moritz Halbritter 649d4be51d Polish "Add property spring.data.jdbc.dialect"
See gh-39941
2024-03-22 11:43:09 +01:00
Jens Schauder 7eb9843e1a Add property spring.data.jdbc.dialect
See gh-39941
2024-03-22 11:39:35 +01:00
Johnny Lim 12b4353e28 Polish
See gh-40034
2024-03-22 11:06:34 +01:00
Scott Frederick 0962025c4b Support loading of base64 encoded values as Resources
An ApplicationResourceLoader has been introduced to support loading
resources using registered ProtocolResolvers. All usages of
DefaultResourceLoader and ResourceUtils have been changed to use
the ApplicationResourceLoader.

A Base64ProtocolResolver has been added to support resources of type
`base64:` that contain base64 encoded values.

Closes gh-36033
2024-03-20 10:40:14 -05:00
Matt Pavlovich af18a69d54 Use activemq-client instead of transitional activemq-client-jakarta
See gh-40028
2024-03-20 11:02:01 +00:00
Andy Wilkinson 62f922369d Update metadata to reflect property changes made for Flyway 10
See gh-40022
2024-03-19 15:06:04 +00:00
Andy Wilkinson a65e1018f0 Upgrade to Flyway 10.10
Closes gh-40022
2024-03-19 12:24:47 +00:00
Brian Clozel e3f8c34b9b Merge branch '3.2.x'
Closes gh-40016
2024-03-19 11:52:27 +01:00
Brian Clozel c27bb77742 Merge branch '3.1.x' into 3.2.x 2024-03-19 11:38:03 +01:00
Brian Clozel 7eb155d76d Upgrade to GraphQL Java 20.8
Closes gh-40020
2024-03-19 11:36:57 +01:00
Andy Wilkinson c2adcd7be8 Upgrade to Infinispan 15.0.0.Final
Closes gh-40017
2024-03-19 10:21:50 +00:00
Moritz Halbritter 5c2f64d677 Merge branch '3.2.x'
Closes gh-39961
2024-03-18 11:41:50 +01:00
Moritz Halbritter 09652cb282 Polish "Set virtual thread names for RabbitMQ and Pulsar"
See gh-39958
2024-03-18 11:24:17 +01:00
Maziz ecda754116 Set virtual thread names for RabbitMQ and Pulsar
See gh-39958
2024-03-18 11:24:10 +01:00
Moritz Halbritter 52eaa7fb3a Revert "Merge pull request #39941 from schauder"
This reverts commit ab5dee819b, reversing
changes made to 24223075eb.
2024-03-15 12:06:27 +01:00
Moritz Halbritter 148c5e8ed5 Polish "Add property spring.data.jdbc.dialect"
See gh-39941
2024-03-15 11:47:35 +01:00
Jens Schauder b3ddb22f75 Add property spring.data.jdbc.dialect
The class valued property allows to configure a dialect, without relying
on a database connection to determine it.

See gh-39941
2024-03-15 11:40:47 +01:00
Johnny Lim 412b8dd548 Polish
See gh-39910
2024-03-15 11:25:16 +01:00
Chris Bono ac0d1e0ec6 Re-enable Spring Pulsar interceptor tests
The PulsarTemplate recently replaced its list of ProducerInterceptors
with a list of ProducerBuilderCustomizers that customize the builder by
adding each interceptor to the builder. The PulsarAutoConfigurationTests
previosuly relied on the previous field. This commit adjusts the tests
to instead use the Customizers testing utility to verify the
interceptors.

(cherry picked from commit 9c054a021f)

See gh-39946
2024-03-15 11:00:09 +01:00
Johnny Lim c5df4e3530 Polish gh-38559
See gh-39931
2024-03-14 10:47:34 +01:00
Chris Bono 9c054a021f Re-enable Spring Pulsar interceptor tests
The PulsarTemplate recently replaced its list of ProducerInterceptors
with a list of ProducerBuilderCustomizers that customize the builder by
adding each interceptor to the builder. The PulsarAutoConfigurationTests
previosuly relied on the previous field. This commit adjusts the tests
to instead use the Customizers testing utility to verify the
interceptors.

See gh-39912
2024-03-13 11:34:55 +01:00
Johnny Lim d9d305ba3d Delegate getExecutionContextSerializer() to DefaultBatchConfiguration if not provided
See gh-39911
2024-03-12 16:40:20 -05:00
Andy Wilkinson 68ac11c1fc Start building against Spring Pulsar 1.1.0 snapshots
See gh-39898
2024-03-12 10:13:22 +00:00
Andy Wilkinson 25ffa09731 Start building against Spring Kafka 3.2.0 snapshots
See gh-39897
2024-03-12 09:28:29 +00:00
Brian Clozel 08626d3591 Auto-configure SSE support for GraphQL endpoints
This commit auto-configures the newly supported SSE transport for
GraphQL endpoints in both Spring MVC and WebFlux.

Closes gh-39651
2024-03-11 14:55:58 +01:00
Brian Clozel 65ef899400 Use optimized request predicates for GraphQL endpoints
Prior to this commit, Spring Boot auto-configurations for GraphQL web
endpoint were implementing their own `RequestPredicate` instances for
HTTP endpoints. Those were composing predicates with the provided DSL.
While this is functionnally right, Spring for GraphQL now provides
predicates in order to:

* host the implementation in spring-graphql directly
* provide optimized predicates for faster matching and lower overhead

This commit switches the auto-configurations to using these new
predicates.

Closes gh-39652
2024-03-11 11:03:39 +01:00
Moritz Halbritter 2f99c19f11 Revert "Configure virtual threads on Undertow if enabled"
This reverts commit cff1b33f8e.

See gh-38819

Closes gh-39812
2024-03-04 09:46:14 +01:00
Scott Frederick 930c9347be Merge branch '3.2.x'
Closes gh-39774
2024-02-27 14:13:21 -06:00
Scott Frederick 460d8a070d Merge branch '3.1.x' into 3.2.x
Closes gh-39773
2024-02-27 14:13:12 -06:00
Stéphane Nicoll f6e4bede09 Stop throwing BindingException in tests
This commit adapts the error controller tests that need the request
to fail with a bind issue, and simulate the behavior of
ModelAttributeMethodProcessor.

As of Spring Framework 6.0.x, this processor no longer throws a
BindingException, but rather a MethodArgumentNotValidException and
the handing of BindException itself is deprecated.

This makes sure that those tests can smoothly be executed against
Spring Framework 6.2.x as throwing a BindingException now results
into an unresolved exception, and an internal server error rather than
the expected bad request.

See gh-39767
2024-02-27 14:12:19 -06:00
Scott Frederick 2594e1c116 Merge branch '3.2.x'
Closes gh-39770
2024-02-27 13:01:02 -06:00
Scott Frederick 7efef3141e Merge branch '3.1.x' into 3.2.x
Closes gh-39769
2024-02-27 13:00:50 -06:00
Stéphane Nicoll c259a673d3 Make resolution algorithm of ConnectionDetailsFactory more explicit
This commit moves the resolution check for ConnectionDetailsFactory
to a dedicated method to make it more clear that it is meant to verify
that the implementation is resolved and can be loaded from the
classpath.

The previous algorithm relied on a behavior of ResolvableType that only
resolves the first level generics. Further improvements in Spring
Framework 6.2 make this check invalid as some implementations use a
Container that can hold a nested generic.

See gh-39737
2024-02-27 12:46:51 -06:00
Phillip Webb f8a1dae835 Merge branch '3.2.x' 2024-02-21 15:27:57 -08:00
Phillip Webb 12de6aa46a Merge branch '3.1.x' into 3.2.x 2024-02-21 15:27:27 -08:00
Moritz Halbritter 9110b1298c Polish "Configure suitable TaskExecutor for WebSocket"
See gh-39611
2024-02-20 11:07:27 +01:00
BenchmarkingBuffalo 1d820a8994 Configure suitable TaskExecutor for WebSocket
For WebSocket support the preconfigured ThreadExecutor is set for
ChannelRegistrations similar to the JpaRepositoriesAutoConfiguration.

See gh-39611
2024-02-20 10:26:23 +01:00
Brian Clozel 8d1e877e55 Merge branch '3.2.x'
Closes gh-39625
2024-02-19 14:36:21 +01:00
Patrick Strawderman 057432c87b Re-order route registration for GraphQL web endpoints
Re-order the route registrations for GraphQL requests so that the
most commonly matched path is evaluated first.

Closes gh-39613
2024-02-19 14:36:09 +01:00
Moritz Halbritter 73d3623670 Merge branch '3.2.x'
Closes gh-39620
2024-02-19 11:09:44 +01:00
Moritz Halbritter bb7706fe88 Merge branch '3.1.x' into 3.2.x
Closes gh-39619
2024-02-19 11:09:36 +01:00
Stéphane Nicoll 7d73b11239 Fix json path assertion
See gh-39605
2024-02-19 11:01:12 +01:00
Brian Clozel 4fd0e29cc8 iRemove TypeDefinitionConfigurer auto-configuration
Closes gh-39604
2024-02-16 15:27:23 +01:00
Moritz Halbritter ba265e54d0 Merge branch '3.2.x'
Closes gh-39599
2024-02-16 09:44:43 +01:00
Moritz Halbritter d6d70828f1 Merge branch '3.1.x' into 3.2.x
Closes gh-39598
2024-02-16 09:44:32 +01:00
junhyung 8fee77761d Change ConcurrentReferenceCachingMetadataReaderFactory to use application's resource loader
See gh-39321
2024-02-16 09:32:24 +01:00
Andy Wilkinson 63efdff16a Merge branch '3.2.x'
Closes gh-39542
2024-02-14 09:09:48 +00:00
Andy Wilkinson 256f9fe83a Only configure WebFlux blocking executor when using virtual threads
Fixes gh-39469
2024-02-14 08:19:58 +00:00
Scott Frederick 22952c3057 Polish "Add BatchTransactionManager annotation"
See gh-39473
2024-02-13 15:39:22 -06:00
BenchmarkingBuffalo bb87faf237 Add BatchTransactionManager annotation
Add a new @BatchTransactionManager annotation for marking a
PlatformTransactionManager that should be used in batch processing.

See gh-39473
2024-02-13 15:39:21 -06:00
Andy Wilkinson b98e2f16c7 Merge branch '3.2.x'
See gh-39493
2024-02-13 17:33:37 +00:00
Andy Wilkinson b6467ed826 Adapt to Spring Data Neo4j now requiring a transaction manager
See gh-39493
2024-02-13 16:53:18 +00:00
Andy Wilkinson 107dc5338b Merge branch '3.2.x' 2024-02-12 12:36:32 +00:00
Andy Wilkinson d597a4d56b Correct handling of disable-html-escaping
See gh-39504
2024-02-12 12:35:47 +00:00
Andy Wilkinson a27cedc3ef Merge branch '3.2.x'
Closes gh-39525
2024-02-12 10:22:56 +00:00
Andy Wilkinson 5746886e64 Merge branch '3.1.x' into 3.2.x
Closes gh-39524
2024-02-12 10:22:37 +00:00
Andy Wilkinson 4319554f8a Fix mapping of boolean properties to Gson's builder
Fixes gh-39504
2024-02-12 10:13:04 +00:00
Moritz Halbritter 7f55cae90f Merge branch '3.2.x' 2024-02-12 10:19:46 +01:00
Moritz Halbritter 4387b79831 Merge branch '3.1.x' into 3.2.x 2024-02-12 10:18:46 +01:00
Moritz Halbritter 8ffcfc9b77 Harmonize style of igored exceptions across the codebase 2024-02-12 10:14:20 +01:00
Johnny Lim 2b7fcd271c Add Javadoc for ServerProperties.mimeMappings
See gh-39503
2024-02-12 08:24:13 +01:00
Andy Wilkinson 33b48786a8 Start building against Spring GraphQL 1.3.0-M1 snapshots
See gh-39495
2024-02-09 14:22:58 +00:00
Andy Wilkinson dada1378bd Start building against Spring GraphQL 1.2.5 snapshots
See gh-39482
2024-02-09 11:04:12 +00:00
BenchmarkingBuffalo 0a11cdcc33 Add customizer callback for WebHttpHandlerBuilder
Add a new interface for customizing the WebHttpHandlerBuilder
before the HttpHandler is built from it.

See gh-39467
2024-02-08 13:59:47 -06:00
Andy Wilkinson af3ffb209c Start building against Spring GraphQL 1.2.5 snapshots
See gh-39462

Co-authored-by: Brian Clozel <brian.clozel@broadcom.com>
2024-02-08 15:19:32 +00:00
BenchmarkingBuffalo 038ea2cb9a Add possibility for custom MimeMappings
Add a new property called 'mime-mappings' under the 'server' property.
This is a key-value-map, which is added to the default MimeMappings.

See gh-39430
2024-02-08 08:42:22 +01:00
BenchmarkingBuffalo 8e75817d6a Add nameIdFormat to Properties
Add the new property nameIdFormat to the Saml2RelyingPartyProperties and
the corresponding mapping to the
Saml2RelyingPartyRegistrationConfiguration.

See gh-39395
2024-02-06 13:43:47 +01:00
Moritz Halbritter 22de896339 Merge branch '3.2.x'
Closes gh-39424
2024-02-06 13:26:04 +01:00
Chris Bono 41ed4d6cf4 Remove use of Pulsar ObjectMapperFactory
This commit removes the use of the Pulsar ObjectMapperFactory when
converting the authentication config props map to a JSON string. The
Pulsar factory operates on a shaded returned value of Jackson
ObjectMapper which may not exist when users are using the
non-shaded version of the Pulsar client lib.

See https://github.com/spring-projects/spring-pulsar/issues/562

See gh-39389
2024-02-06 13:12:57 +01:00
Moritz Halbritter ff97fdc203 Merge branch '3.2.x'
Closes gh-39356
2024-01-31 10:00:26 +01:00
Moritz Halbritter cee249197f Polish "Use generic wildcard for Pulsar beans"
See gh-39308
2024-01-31 09:54:18 +01:00
JonasG c02dd14c66 Use generic wildcard for Pulsar beans
See gh-39308
2024-01-31 09:51:31 +01:00
Wzy19930507 f5c9d34a5d Unify 'observation-enabled' property defaults
Change spring.pulsar.listener.observation-enabled and
spring.pulsar.template.observations-enabled to false

See gh-39276
2024-01-31 09:37:48 +01:00
Moritz Halbritter 1f321c4421 Polish "Add service connection for Docker Compose and Testcontainers Artemis"
See gh-39311
2024-01-31 08:37:03 +01:00
Eddú Meléndez f15cd93a35 Add service connection for Docker Compose and Testcontainers Artemis
See gh-39311
2024-01-31 08:37:03 +01:00
Claudio Nave d31b02c38d Add liquibase ui-service property
See gh-39227
2024-01-30 14:04:05 +01:00
Phillip Webb 8f1a330dd5 Update copyright header of cleaned up code
See gh-39259
2024-01-23 10:18:50 -08:00
Tobias Lippert 9cdd0c3776 Remove unnecessary semicolons
See gh-39259
2024-01-23 09:07:29 -08:00
Phillip Webb 4de91094cf Polish 'Add conditional bean for jOOQ translator'
See gh-38762
2024-01-22 15:52:41 -08:00
Dennis Melzer c3aa95335a Add conditional bean for jOOQ translator
Introduce an jOOQ `ExecuteListener` sub-interface  specifically
for exception translation with the auto-configured
`DefaultExecuteListenerProvider` instance.

Users can now define a bean that implements the interface or
omit it and continue to use the existing exception translation
logic.

See gh-38762
2024-01-22 15:52:38 -08:00
Scott Frederick bee6fe899c Polish "Add Docker Compose service connection support for OpenLDAP"
See gh-39258
2024-01-22 16:51:45 -06:00
PhilKes eb940c3907 Add Docker Compose service connection support for OpenLDAP
See gh-39258
2024-01-22 16:51:45 -06:00
Phillip Webb a0a804cfdf Merge branch '3.2.x' 2024-01-22 12:20:41 -08:00
Phillip Webb cff8cb98c7 Merge branch '3.1.x' into 3.2.x 2024-01-22 12:20:24 -08:00
Phillip Webb e1986ea11e Update copyright year of changed files 2024-01-22 12:20:06 -08:00
Andy Wilkinson 8c708b1e91 Merge branch '3.2.x'
Closes gh-39239
2024-01-18 14:15:36 +00:00
Andy Wilkinson 961da4e428 Make user details only back off without custom username or password
Closes gh-38864
2024-01-18 14:14:39 +00:00
Andy Wilkinson 257df220fd Merge branch '3.2.x'
Closes gh-39225
2024-01-17 20:30:37 +00:00
Andy Wilkinson fee359ff5e Downgrade to production-ready version of Oracle Database
This reverts commit d2325d1110.

Closes gh-38943
2024-01-17 20:14:09 +00:00
Andy Wilkinson d5d78e5b85 Merge branch '3.2.x'
Closes gh-39168
2024-01-17 13:03:39 +00:00
Andy Wilkinson aec4550b02 Merge branch '3.1.x' into 3.2.x
Closes gh-39167
2024-01-17 13:00:22 +00:00
Andy Wilkinson a7d52226d5 Polish "Improve toString of SslBundle implementations"
See gh-39137
2024-01-17 11:50:34 +00:00
amparab b49ccbb0c2 Improve toString of SslBundle implementations
See gh-39137
2024-01-17 11:37:18 +00:00
Brian Clozel e58f65366c Auto-configure TypeDefinitionConfigurer beans
Prior to this commit, the GraphQL auto-configuration would consider many
bean types like `DataFetcherExceptionResolver` and
`SubscriptionExceptionResolver` to configure the `GraphQlSource`.
It would also configure a default `ConnectionTypeDefinitionConfigurer`.

This commit will detect all `TypeDefinitionConfigurer` beans defined in
the application and configure them in addition to the
`ConnectionTypeDefinitionConfigurer`.

Closes gh-39118
2024-01-15 18:22:37 +01:00
Moritz Halbritter cff1b33f8e Configure virtual threads on Undertow if enabled
Closes gh-38819
2024-01-12 09:05:30 +01:00
Phillip Webb 653474fc46 Polish 2024-01-11 21:40:18 -08:00
teacmity c6c7fbc15f Change log messages to use singular or plural instead of "noun(s)"
See gh-37017
2024-01-11 14:35:49 +00:00
Andy Wilkinson 5675d79243 Merge branch '3.2.x'
Closes gh-39104
2024-01-11 13:56:12 +00:00
Andy Wilkinson a5d3fb588b Merge branch '3.1.x' into 3.2.x
Closes gh-39103
2024-01-11 13:55:34 +00:00
Andy Wilkinson 31936f036b Remove FlywayMigrationScriptMissingFailureAnalyzer from spring.factories
Closes gh-39102
2024-01-11 13:55:05 +00:00
BenchmarkingBuffalo 3928fac5ba Add clientId and subscriptionDurable to JmsProperties
See gh-38817
2024-01-11 14:46:24 +01:00
Kai Zander ed039fcf7d Fix context runner assertions not being executed
See gh-39087
2024-01-11 14:17:00 +01:00
Moritz Halbritter baf52214a2 Polish "Auto-configure a JwtAuthenticationConverter"
The JwtConverter bean is only supplied, if one of the following
properties is there:

* spring.security.oauth2.resourceserver.jwt.authority-prefix
* spring.security.oauth2.resourceserver.jwt.principal-claim-name
* spring.security.oauth2.resourceserver.jwt.authorities-claim-name

See gh-38105
2024-01-11 13:58:10 +01:00
Yan Kardziyaka e9bce315ae Auto-configure a JwtAuthenticationConverter
See gh-38105
2024-01-11 13:58:10 +01:00
Andy Wilkinson 17e9f0cb8e Merge branch '3.2.x'
Closes gh-39093
2024-01-11 11:36:38 +00:00
Andy Wilkinson 7087897507 Merge branch '3.1.x' into 3.2.x
Closes gh-39091
2024-01-11 10:33:57 +00:00
Andy Wilkinson 45c32854a5 Fix Checkstyle upgrade
Closes gh-38746
2024-01-10 15:37:38 +00:00
Moritz Halbritter f696190d83 Polish "Add support for Pulsar cluster-level failover"
See gh-38559
2024-01-10 13:28:33 +01:00
Swamy Mavuri c3e3372336 Add support for Pulsar cluster-level failover
See gh-38559
2024-01-10 13:28:33 +01:00
Moritz Halbritter e5b2ad9b8a Add possibility to configure a custom ExecutionContextSerializer in BatchAutoConfiguration
See gh-38328
2024-01-10 11:08:43 +01:00
John Niang 49c6bacd44 Support configuring maximum number of sessions for reactive server
Signed-off-by: John Niang <johnniang@foxmail.com>

See gh-38703
2024-01-10 11:03:55 +01:00
Yanming Zhou 0e53c0098f Add configuration property "spring.task.execution.pool.shutdown.accept-tasks-after-context-close"
ExecutorConfigurationSupport::setAcceptTasksAfterContextClose is
introduced since Spring Framework 6.1

See gh-38968
2024-01-10 10:37:15 +01:00
Moritz Halbritter d610955b9d Merge branch '3.2.x'
Closes gh-39079
2024-01-10 09:58:24 +01:00
Moritz Halbritter 793801b9cb Merge branch '3.1.x' into 3.2.x
Closes gh-39078
2024-01-10 09:53:45 +01:00
BenchmarkingBuffalo 56f00c4c21 Move autoStartup property
Move the property 'autoStartup' from BaseContainer to AmqpContainer.

See gh-39072
2024-01-10 09:52:28 +01:00
Moritz Halbritter ffe31cfe55 Merge branch '3.2.x'
Closes gh-39077
2024-01-10 09:49:54 +01:00
skcskitano dc8b55c0ef Fix connection leak in SqlDialectLookup
See gh-38924
2024-01-10 09:46:39 +01:00
Christoph Dreis b7c9c82180 Fix typos
See gh-38983
2024-01-10 09:06:45 +01:00
Moritz Halbritter 91d187ca38 Add property for max queue size for Tomcat
Co-authored-by: Ahmed A. Hussein <ahmedhussein411@gmail.com>

Closes gh-36087
2024-01-09 10:38:46 +01:00
Moritz Halbritter 2cce123bb5 Add property to control 'path' field inclusion in error responses
By default it is included.

Closes gh-38619
2024-01-09 09:33:00 +01:00
Moritz Halbritter a7d88b69d4 Add RabbitMQ properties to enable observations
Observations can be enabled for the simple, direct and stream listener
and on the RabbitTemplate.

Closes gh-36451
2024-01-08 15:58:13 +01:00
Andy Wilkinson 4b89723861 Remove APIs that were deprecated for removal in 3.3.0
Closes gh-39039
2024-01-05 11:20:35 +00:00
Andy Wilkinson 6bd042e83b Upgrade to Commons DBCP2 2.11.0
Closes gh-39002
2024-01-04 17:26:37 +00:00
Andy Wilkinson a1c7c0bccc Upgrade to AssertJ 3.25.1
Closes gh-38997
2024-01-04 17:26:35 +00:00
Phillip Webb 7216d2b031 Merge branch '3.1.x'
Closes gh-38916
2023-12-22 10:43:46 -08:00
Phillip Webb 95a8fa561c Correctly order @AutoConfigureAfter values when sorting
Update `AutoConfigurationSorter` so that `getClassesRequestedAfter()`
results are sorted to match the earlier name/order sorting. Prior to
this commit the order of items added via `@AutoConfigureAfter` was in
an undetermined order which could cause very subtle `@ConditionalOnBean`
bugs.

Thanks very much to Alexandre Baron for their help in diagnosing and
reproducing this issue.

Fixes gh-38904
2023-12-22 08:20:25 -08:00
Phillip Webb 15dd37095f Merge branch '3.1.x'
Closes gh-38880
2023-12-19 23:45:42 -08:00
Phillip Webb b00d5fabe8 Auto-configure Hibernate JPA before DataSource TransactionManager
Fixes gh-38861
2023-12-19 23:44:48 -08:00
Phillip Webb 5354ad15b3 Merge branch '3.1.x'
Closes gh-38877
2023-12-19 22:51:48 -08:00
Yanming Zhou ac18e3015c Use `.isEmpty()` where feasible
See gh-38739
2023-12-19 22:38:05 -08:00
Phillip Webb 2158f4cc43 Polish 'Use authParamString to configure Pulsar authentication'
See gh-38839
2023-12-16 22:23:37 -08:00
Chris Bono 4c0a19e8c0 Use authParamString to configure Pulsar authentication
Update `PulsarPropertiesMapper` to use JSON encoded parameters rather
than a `Map` since the `Map` method is deprecated in Pulsar. This
commit simply takes the auth params map and converts them to the
expected encoded JSON string of auth parameters.

See gh-38839
2023-12-16 22:19:45 -08:00
Phillip Webb 26dc14031e Update `LoadedPemSslStore` to use lazy loading
Update `LoadedPemSslStore` so that it loads content lazily. This
restores the behavior of Spring Boot 3.1 and allows bundles to be
defined with files that don't exist as long as they are never accessed.

Fixes gh-38659
2023-12-14 22:03:07 -08:00
Phillip Webb 1d10e51755 Adapt to upstream Spring Security changes 2023-12-14 20:33:09 -08:00
Andy Wilkinson afad358047 Align reactive web security more closely with servlet web security
There are some notable differences in the behavior of Spring
Security's reactive and servlet-based web security. Notably,
Servlet-based web security (`@EnableWebSecurity`) works without
any authentication manager, rejecting requests as not authorized.
By contrast reactive-based web security (`@EnableWebFluxSecurity`)
fails to start up when there's no authentication manager, either
provided directly as a bean or derived from a
ReactiveUserDetailsService. There are also further differences at
runtime where empty Monos from all ReactiveAuthenticationManagers
results in an internal error and a 500 response whereas a similar
situation in the servlet implementation results in a 401.

Previously, to accommodate these differences in behavior, Spring
Boot's auto-configuration would behave differently. In the Servlet
case, web security would be enabled whenever the necessary
dependencies were on the classpath. In the reactive case, web
security would back off in the absence of an authentication manager
to prevent a start up failure. While this difference is rooted in
Spring Security, it is undesirable and something that we want to
avoid Spring Boot users being exposed to where possible.
Unfortunately, the situation is more likely to occur than before
as ReactiveUserDetailsServiceAutoConfiguration now backs off more
readily (gh-35338). This makes it more likely that the context will
contain neither a reactive authetication manager not a reactive
user details service.

This commit reworks the auto-configurations related to reactive
security. ReactiveSecurityAutoConfiguration will now auto-configure
an "empty" reactive authentication manager that denies access through
Mono.error in the absence of a ReactiveAuthenticationManager,
ReactiveUserDetailsService, or SecurityWebFilterChain. The last of
these is to allow for the situation where a filter chain has been
defined with an authentication manager configured directly on it.
This configuration of an authentication manager allows
`@EnableWebFluxSecurity` to be auto-configured more readily,
removing one of the differences between reactive- and Servlet-based
security.

Corresponding updates to the auto-configurations for reactive OAuth2
support have also been made. They no longer try to auto-configure
`@EnableWebFluxSecurity`, relying instead upon
ReactiveSecurityAutoConfiguration, which they are ordered before, to
do that instead.

Closes gh-38713
2023-12-13 12:44:04 +00:00
Andy Wilkinson 964ccbb000 Revert "Do not enable WebFlux security unless other configuration is active"
This reverts commit beba1f176a.

See gh-38713
2023-12-13 11:17:08 +00:00
Moritz Halbritter 01f59608ac Merge branch '3.1.x'
Closes gh-38752
2023-12-12 16:23:33 +01:00
Moritz Halbritter b8021dbc65 Exclude Rabbit Stream when testing RabbitAutoConfiguration
The stream auto-configuration is tested in RabbitStreamConfigurationTests,
and excluding it prevents the creation of the "rabbitStreamEnvironment"
Environment bean, which delays the application context close by 1 second
because it has to wait for some Netty resources to gracefully shut down.

Closes gh-38750
2023-12-12 16:12:22 +01:00
Andy Wilkinson beba1f176a Do not enable WebFlux security unless other configuration is active
Following the changes in gh-37504, the reactive resource server
auto-configuration could enable WebFlux security in situations where
it was otherwise in active. This could then result in an application
failing to start as no authentication manager is available.

This commit updates the configurations that enable WebFlux security
so that they fully back off unless their related configurations are
active. Previously, only the configuration of the
SecurityWebFilterChain would back off. This has been expanded to
cover `@EnableWebFluxSecurity` as well. This has required splitting
the configuration classes up so that the condition evaluation order
can be controlled more precisely. We need to ensure that the JWT
decoder bean or the opaque token introspector bean has been defined
before evaluation of the conditions for `@EnableWebFluxSecurity`.
Without this control, the import through `@EnableWebFluxSecurity` in
one location where the conditions do not matchcan prevent a
successful import in another where they do.

Fixes gh-38713
2023-12-11 12:46:29 +00:00
Moritz Halbritter cc665dd529 Merge branch '3.1.x'
Closes gh-38727
2023-12-11 09:18:25 +01:00
Donghun Shin f922b3de03 Rename local variable in BatchAutoConfiguration
See gh-38674
2023-12-11 08:25:39 +01:00
Andy Wilkinson 6dff3c5978 Adapt to change in Framework's disconnected client detection
See gh-38666
2023-12-06 14:18:40 +00:00
Moritz Halbritter f9a1eb000e Merge branch '3.1.x'
Closes gh-38658
2023-12-05 11:51:03 +01:00
Lars Uffmann 5981a3fd33 Build against UCP and JDBC driver for Oracle Database variant ucp11
See gh-38654
2023-12-05 11:40:35 +01:00
Brian Clozel 0321a8a05b Configure ObservationRegistry on JmsListener
Prior to this commit, we set in gh-37388 the ObservationRegistry on the
auto-configured JmsTemplate bean. This enables observations and context
propagation when sending JMS messages.

This commit applies the same to the `DefaultJmsListenerContainerFactory`
and the `DefaultJmsListenerContainerFactoryConfigurer`, in order to
enable observations on `@JmsListener` annotated methods.

This commit also refactors the support implemented in gh-37388 to avoid
relying on a bean post processor and instead set the observation
registry directly in the main auto-configuration: while Micrometer core
is an actuator-only dependency, Micrometer Observation API is a compile
dependnecy for spring-jms itself and there is no need to separate
concerns there.

Fixes gh-38613
2023-12-01 09:36:00 +01:00
Moritz Halbritter fdbd65a2f5 Only apply awaitTerminationPeriod if awaitTermination is set
See gh-38528
2023-11-30 10:29:12 +01:00
Moritz Halbritter 6744cc2887 Apply awaitTerminationPeriod to SimpleAsyncTaskScheduler
Closes gh-38530
2023-11-30 10:25:33 +01:00
Moritz Halbritter e454470bf9 Apply awaitTerminationPeriod to SimpleAsyncTaskExecutor
Closes gh-38528
2023-11-30 09:25:49 +01:00
Andy Wilkinson 3e4e59a8f0 Restore compatibility with Liquibase 4.23
Closes gh-38522
2023-11-28 17:41:47 +00:00
Johnny Lim f9f73aa146 Polish
See gh-38508
2023-11-23 09:39:01 +01:00
Phillip Webb 9f031b04e5 Merge branch '3.1.x'
Closes gh-38507
2023-11-22 11:13:12 -08:00
Phillip Webb bc504a8a03 Fix @ConditionalOnBean with annotation early FactoryBean initialization
Update `OnBeanCondition` with a variant of `getBeanNamesForAnnotation`
that does not cause early `FactoryBean` initialization.

Fixes gh-38473
2023-11-22 11:10:59 -08:00
Moritz Halbritter b1da6f941f Merge branch '3.1.x' 2023-11-22 10:29:28 +01:00
Moritz Halbritter eddb17473b Fix deprecation clause on MongoPropertiesClientSettingsBuilderCustomizer 2023-11-22 10:29:12 +01:00
Johnny Lim 175b6473c7 Polish
See gh-38389
2023-11-22 10:16:19 +01:00
Lars Uffmann adb841c45e Update JobLauncherApplicationRunner to use getIdentifyingParameters
See gh-38327
2023-11-13 12:12:34 +01:00
Moritz Halbritter c66322491d Merge branch '3.1.x'
Closes gh-38339
2023-11-13 11:50:57 +01:00
Moritz Halbritter 24cb05cb59 Merge branch '3.0.x' into 3.1.x
Closes gh-38338
2023-11-13 11:49:51 +01:00
Lars Uffmann e41b36273f Remove unnecessary JobOperator bean definition
See gh-38325
2023-11-13 11:46:38 +01:00
Brian Clozel 67c5d10051 Process multipart properties for PartEvent support
Prior to this commit, some properties in the `spring.webflux.multipart`
namespace were ignored for the streaming use case because those were not
supported in streaming mode with `PartEvent`.

As of Spring Framework 6.1, the `max-parts` and
`max-disk-usage-per-part` properties can be supported and this commit
maps those properties accordingly.

Fixes gh-37642
2023-11-10 11:36:13 +01:00
Andy Wilkinson 9247104830 Merge branch '3.1.x'
Closes gh-38286
2023-11-09 20:31:53 +00:00
Andy Wilkinson b6a9c67719 Avoid adding Jetty's upgrade filter to non-Jetty servers
Fixes gh-38181
2023-11-09 20:30:35 +00:00
Claudio Nave 4a6564c0a9 Add Liquibase `show-summary` and `show-summary-output` properties
Update `LiquibaseProperties` and `LiquibaseAutoConfiguration` to
support the recently added `setShowSummary` and
`setShowSummaryOutput` methods.

See gh-38274
2023-11-09 11:48:36 -08:00
Claudio Nave 61aecdedd6 Remove Liquibase javax.activation excludes
Liquibse no longer declares a dependency on `javax.activation`
(see https://github.com/liquibase/liquibase/issues/4487) so we
can now remove our exclusions.

See gh-38274
2023-11-09 11:44:31 -08:00
Andy Wilkinson 82c9ab4cbd Merge branch '3.1.x'
Closes gh-38268
2023-11-08 17:10:19 +00:00
Andy Wilkinson 1e1effe131 Merge branch '3.0.x' into 3.1.x
Closes gh-38267
2023-11-08 16:59:15 +00:00
Andy Wilkinson 6d46c24db7 Merge branch '2.7.x' into 3.0.x
Closes gh-38266
2023-11-08 15:58:40 +00:00
Andy Wilkinson 7c73a034b6 Improve backwards- and forwards-compatibility of Flyway auto-config
Closes gh-38164
2023-11-08 15:17:49 +00:00
Moritz Halbritter d59b385304 Merge branch '3.1.x'
Closes gh-38226
2023-11-06 10:27:50 +01:00
Moritz Halbritter 3560a13d57 Merge branch '3.0.x' into 3.1.x
Closes gh-38225
2023-11-06 10:27:42 +01:00
Yanming Zhou d7ab153559 Use switch expression where feasible
See gh-38217
2023-11-06 10:27:04 +01:00
Moritz Halbritter a944815e3c Merge branch '3.1.x'
Closes gh-38221
2023-11-06 08:58:16 +01:00
Eddú Meléndez 674f8fbb8d Polish RabbitAutoConfiguration
See gh-38216
2023-11-06 08:57:19 +01:00
Scott Frederick 55ab56f8d9 Polish "Add observationEnabled properties for Apache Kafka"
See gh-38057
2023-11-02 17:05:17 -05:00
Zhiyang.Wang1 ff9d9de1ee Add observationEnabled properties for Apache Kafka
See gh-38057
2023-11-02 17:05:17 -05:00
Scott Frederick 99986a2fdd Polish SSL internals 2023-11-02 14:41:06 -05:00
Moritz Halbritter d3f177be71 Polish SSL 2023-11-02 09:36:06 +01:00
Phillip Webb 9b71ef4114 Polish and refactor some SSL internals
Polish and refactor some of the internal SSL code to make it easier to
add additional functionality in the future.
2023-11-01 16:14:59 -07:00
Phillip Webb 30a7426e86 Apply key property to the keystore and not to the truststore
Update `PropertiesSslBundle` so that key properties are now
only applied to the keystore and not the truststore.

Closes gh-38125
2023-11-01 16:10:51 -07:00
Phillip Webb 5dc5c2a4bc Rename `KeyVerifier` to `CertificateMatcher`
Rename `KeyVerifier` to `CertificateMatcher` and refactor some
of the internals. This commit also adds test helper classes to
help simplify some of the tests.

See gh-38173
2023-11-01 16:10:31 -07:00
Phillip Webb 1b61bc1f20 Move PEM verification to spring-boot-autoconfigure
Move `KeyVerifier` to spring-boot-autoconfigure to reduce the
public API required in `PemSslStoreBundle`.

This commit also moves the verify property so that is can be set
per store.

Closes gh-38173
2023-11-01 16:10:16 -07:00
Phillip Webb 2c6fca8df7 Allow alias and password to be configured on a per PEM store basis
Closes gh-38124
2023-11-01 16:02:33 -07:00
Andy Wilkinson 8f2ec22738 Merge branch '3.1.x'
Closes gh-38152
2023-10-31 11:50:42 +00:00
Andy Wilkinson 1fcf1fcc20 Merge branch '3.0.x' into 3.1.x
Closes gh-38151
2023-10-31 11:50:32 +00:00
Andy Wilkinson 8f4ea6834d Merge branch '2.7.x' into 3.0.x
Closes gh-38150
2023-10-31 11:50:18 +00:00
Andy Wilkinson 020c2b364e Fix handling of value that overflows an int
Closes gh-38146
2023-10-31 11:47:14 +00:00
Andy Wilkinson d2325d1110 Upgrade to Oracle Database 23.3.0.23.09
Closes gh-38121
2023-10-30 20:42:24 +00:00
Andy Wilkinson 5765f9410c Upgrade to Liquibase 4.24.0
Closes gh-38120
2023-10-30 20:41:49 +00:00
Andy Wilkinson 4f7e4712dd Merge branch '3.1.x'
Closes gh-38019
2023-10-25 10:45:07 +01:00
Andy Wilkinson 4faabcfcdd Merge branch '3.0.x' into 3.1.x
Closes gh-38018
2023-10-25 10:44:38 +01:00
Andy Wilkinson b33ee84146 Merge branch '2.7.x' into 3.0.x
Closes gh-38017
2023-10-25 10:44:03 +01:00
Andy Wilkinson 8778884f5d Clarify role of WebMvcRegistrations and WebMvcConfigurer
Closes gh-31232
2023-10-25 10:42:25 +01:00
Andy Wilkinson a9469d9c8e Adapt to changes in Framework's internals
See gh-37995
2023-10-23 18:07:38 +01:00
Johnny Lim b5d4983829 Polish
See gh-37984
2023-10-23 11:15:27 +02:00
Phillip Webb 3eeb1b2849 Merge branch '3.1.x' 2023-10-19 23:21:42 -07:00
Phillip Webb 9f3afb3636 Merge branch '3.0.x' into 3.1.x 2023-10-19 23:21:20 -07:00
Phillip Webb 7c864804d5 Merge branch '2.7.x' into 3.0.x 2023-10-19 23:21:08 -07:00
Phillip Webb d47f8bf945 Update copyright year of changed files 2023-10-19 23:20:43 -07:00
Phillip Webb d638bbb0ba Merge branch '3.1.x'
Closes gh-37967
2023-10-19 21:25:44 -07:00
Phillip Webb 1d456e09d2 Merge branch '3.0.x' into 3.1.x
Closes gh-37966
2023-10-19 21:12:52 -07:00
Phillip Webb a0b999c8b4 Merge branch '2.7.x' into 3.0.x
Closes gh-37965
2023-10-19 20:55:51 -07:00
Phillip Webb abdad1cabe Constently use assertThatExceptionOf... assertions
Closes gh-37964
2023-10-19 20:17:26 -07:00
Phillip Webb 93b562e632 Fix PulsarProperties lookupTimeout
Prefer `null` to `-1` for the default timeout.

See gh-34763
2023-10-18 20:52:12 -07:00
Andy Wilkinson ec6415f04b Add SSL bundle support to Apache Kafka auto-configuration
Closes gh-37629
Co-authored-by: Scott Frederick <sfrederick@vmware.com>
2023-10-18 16:34:28 -05:00
Andy Wilkinson 851e6def76 Fix tests on Windows
See gh-37808
2023-10-18 14:08:41 +01:00
Andy Wilkinson 02c49b0287 When virtual threads are enabled, configure Pulsar to use them
Closes gh-36347
2023-10-17 15:59:41 +01:00
Andy Wilkinson d796087dfa Polish "Add properties for configuring EnumFeature and JsonNodeFeature"
See gh-37885
2023-10-16 15:39:25 +01:00
Eddú Meléndez 8edb4b9729 Add properties for configuring EnumFeature and JsonNodeFeature
Both `EnumFeature` and `JsonNodeFeature` implement `DataTypeFeature`
which was recently added in Spring Framework. This commits introduces
support to allow the configuration via properties.

See spring-projects/spring-framework#31380

See gh-37885
2023-10-16 15:00:32 +01:00
Andy Wilkinson 19fd88b25b Implement SSL hot reload for Netty and Tomcat
Closes gh-37808
2023-10-16 14:08:26 +01:00
Brian Clozel 339f75d309 Fix GraphQL WebSocket HandlerMapping bean ordering
Prior to this commit, the GraphQL WebSocket HandlerMapping bean would be
ordered at position "2", before the RouterFunction variant defined by
Spring Framework at position "3".

Since then, the Spring Framework team changed the default order value
for this one at "-1", see spring-projects/spring-framework#30278.
This prevents the WebSocket upgrade, as the request is handled by the
RouterFunction instead of the WebSocket handler.

This commit updates the handlermapping order and introduces a test to
prevent issues in the future.

Fixes gh-37892
2023-10-16 12:11:31 +02:00
Andy Wilkinson 932fe4fcf8 Polish "Avoid ObjectMappear creation in WebSocketMessagingAutoConfiguration"
See gh-37861
2023-10-13 10:41:07 +01:00
Johnny Lim 5397ad0822 Avoid ObjectMappear creation in WebSocketMessagingAutoConfiguration
See gh-37861
2023-10-13 10:39:51 +01:00
Andy Wilkinson db50de3c1d Upgrade to MongoDB 4.11.0
Closes gh-37874
2023-10-13 09:14:17 +01:00
Andy Wilkinson 6fbc328b4c Polish "Add support for configuring non-standard JMS acknowledge modes"
See gh-37576
2023-10-12 10:56:43 +01:00
Vedran Pavic d72fb8e127 Add support for configuring non-standard JMS acknowledge modes
Prior to this commit, `spring.jms.listener.session.acknowledge-mode`
and `spring.jms.template.session.acknowledge-mode` accepted only a
predefined set of values representing standard JMS acknowledge modes.

This commit adds support for also using arbitrary integer values to
these configuration properties, which allows vendor-specific JMS
acknowledge modes to be configured.

See gh-37576
2023-10-12 08:36:30 +01:00
Scott Frederick 5556739c8c Add SSL bundle support to Rabbit auto-configuration 2023-10-11 15:39:51 -05:00
Andy Wilkinson bdaf7a7603 Merge branch '3.1.x'
Closes gh-37830
2023-10-11 15:06:09 +01:00
Andy Wilkinson 411586347c Merge branch '3.0.x' into 3.1.x
Closes gh-37829
2023-10-11 15:04:21 +01:00
Andy Wilkinson 781ac2ece2 Merge branch '2.7.x' into 3.0.x
Closes gh-37828
2023-10-11 15:02:36 +01:00
Andy Wilkinson 5a75fae23b Polish "Polish"
See gh-37745
2023-10-11 14:58:04 +01:00
Johnny Lim 303015ea2d Polish
See gh-37745
2023-10-11 14:57:38 +01:00
Moritz Halbritter 6874a2fb9a Polish "Remove @ConditionalOnMissingBean from RestTemplateBuilderConfigurer"
See gh-37746
2023-10-11 14:03:12 +02:00
saravanakumar Ramasamy 882e29dc7f Remove @ConditionalOnMissingBean from RestTemplateBuilderConfigurer
See gh-37746
2023-10-11 13:39:44 +02:00
Phillip Webb 4ab104f5af Use type safe JdbcClient query
Update `JdbcClientAutoConfigurationTests` to use a type safe query
since Spring Framework now returns `Object` types when no type is
specified (see Spring Framework issue 31403).

See gh-37710
2023-10-10 16:29:37 -07:00
Andy Wilkinson 1d410dccea Adapt to breaking API change in Framework
See gh-37710
2023-10-10 17:21:33 +01:00
Andy Wilkinson 8a97ff31ae Merge branch '3.1.x'
Closes gh-37806
2023-10-10 11:28:00 +01:00
Andy Wilkinson 1087827b9a Merge branch '3.0.x' into 3.1.x
Closes gh-37805
2023-10-10 11:27:37 +01:00
Andy Wilkinson 5fcdee6bb5 Merge branch '2.7.x' into 3.0.x
Closes gh-37804
2023-10-10 11:26:39 +01:00
Andy Wilkinson 6df5389d76 Use RedisSeralizer.java(ClassLoader) factory method
Closes gh-37800
2023-10-10 11:25:22 +01:00
Andy Wilkinson 31008def76 Polish "Instrument user-created DataSource for checkpoint-restore"
See gh-37630
2023-10-10 10:27:10 +01:00
Olga MaciaszekSharma 4b5e50ba94 Instrument user-created DataSource for checkpoint-restore
See gh-37630
2023-10-10 10:26:15 +01:00
Andy Wilkinson 48059417b5 Upgrade to Kafka 3.6.0
Closes gh-37777
2023-10-09 13:46:52 +01:00
Moritz Halbritter 0a16ec17e9 Add property to enable key verification on PEM SSL bundles
Closes gh-37727
2023-10-05 09:49:49 +02:00
Moritz Halbritter fc9c1c0964 Fix ordering related issue in ReactorAutoConfigurationTests
See gh-34201
2023-10-04 11:00:02 +02:00
Moritz Halbritter 5b129ceb09 Switch reactor context propagation from auto to limited
- Polish
- Fix @since tags
- Add a test case
- Update context-propagation version

Closes gh-34201
2023-10-04 09:37:45 +02:00
Moritz Halbritter 30f29dead8 Revert "Temporarily remove auto-config for Reactor context propagation"
This reverts commit 88de3cc089.

See gh-34201
2023-10-04 09:12:27 +02:00
Phillip Webb 560527945b Add background preinitializers for Tomcat and JDK ZoneId
Closes gh-37670
2023-10-03 17:28:44 -07:00
Andy Wilkinson 12108e58e9 Merge branch '3.1.x'
Closes gh-37664
2023-10-03 16:47:11 +01:00
Andy Wilkinson 8cf686d925 Merge branch '3.0.x' into 3.1.x
Closes gh-37663
2023-10-03 16:27:19 +01:00
Andy Wilkinson 6353603d63 Avoid exposing Jetty's WebSocketUpgradeFilter as a bean
When the filter is exposed as a bean (directly or through a
registration bean), it's picked up by the auto-configuration of
MockMvc. This causes a problem as MockMvc does not call init on a
filter before it's used and WebSocketUpgradeFilter fails with a
NullPointerException if its doFilter method is called when its init
method has not been called.

This commit reworks the WebSocket auto-configuration to use a
ServletContextInitalizer to register WebSocketUpgradeFilter rather
than a FilterRegistrationBean. This ensure that the filter is still
registered at the required position in the chain (last filter before
the servlet) while also preventing it from being registered with the
auto-configured MockMvc in tests.

Closes gh-37660
2023-10-03 16:13:24 +01:00
Andy Wilkinson 7d40a45b50 Merge branch '3.1.x'
Closes gh-37662
2023-10-03 11:21:29 +01:00
Andy Wilkinson a4100e12ff Merge branch '3.0.x' into 3.1.x
Closes gh-37661
2023-10-03 11:05:51 +01:00
Andy Wilkinson 931584f8af Merge branch '2.7.x' into 3.0.x
Closes gh-37659
2023-10-03 10:28:51 +01:00
Johnny Lim c9932bb73a Use AssertJ's fail, not JUnit's
This commit also updates Checkstyle to prevent use of JUnit's
assertions from being reintroduced.

See gh-37655
2023-10-03 10:11:12 +01:00
Andy Wilkinson 4493958f13 Improve conditions for enabling WebFlux security
This commit correct a mistake where AuthenticationManager was used
instead of ReactiveAuthenticationManager. It also expands the
conditions so that WebFlux security will be enabled when the user
has defined their own SecurityWebFilterChain. In such a situation
no other security-related beans may be needed to use WebFlux
security as things may have been configured directly using the DSL.

Closes gh-37504
2023-09-30 09:06:00 +01:00
Andy Wilkinson 426e31695f Merge branch '3.1.x' 2023-09-29 15:14:32 +01:00
Andy Wilkinson 385e6278b7 Merge branch '3.0.x' into 3.1.x 2023-09-29 15:14:17 +01:00
Andy Wilkinson 26b9602596 Merge branch '2.7.x' into 3.0.x 2023-09-29 15:14:09 +01:00
Andy Wilkinson 0205b875a0 Polish 2023-09-29 15:13:58 +01:00
Andy Wilkinson 76eb5ba8c2 Merge branch '3.1.x'
Closes gh-37633
2023-09-29 15:02:19 +01:00
Andy Wilkinson c4bccb2429 Merge branch '3.0.x' into 3.1.x
Closes gh-37632
2023-09-29 14:59:06 +01:00
Andy Wilkinson 04054b6670 Merge branch '2.7.x' into 3.0.x
Closes gh-37631
2023-09-29 14:58:52 +01:00
Andy Wilkinson bfd1a29e53 Exclude AbstractTransactionAspect from lazy init
Fixes gh-37506
2023-09-29 14:16:27 +01:00
Andy Wilkinson 6d3594db49 Add execution listeners to auto-configured transaction managers
Closes gh-36770
2023-09-29 09:54:04 +01:00
Andy Wilkinson 1a22415c01 Expand customization to any type of TransactionManager
Closes gh-37628
2023-09-29 09:54:03 +01:00
Andy Wilkinson 96986a6b51 Break cycle between TransactionManagerCustomizers and TransactionManager
Closes gh-36801
2023-09-29 09:53:34 +01:00
Scott Frederick 228041666b Merge branch '3.1.x'
Closes gh-37622
2023-09-28 16:11:31 -05:00
Scott Frederick fad43adf14 Polish "Support IPv6 addresses when configuring RabbitMQ using properties"
See gh-37619
2023-09-28 16:07:25 -05:00
csk8167 c1972f6db6 Support IPv6 addresses when configuring RabbitMQ using properties
See gh-37619
2023-09-28 16:06:39 -05:00
shin-mallang 8eac7a91f6 Remove duplicate code in NettyWebServerFactoryCustomizer
Since the PropertyMapper's alwaysApplyingWhenNonNull() has already been
called, the subsequent whenNonNull() is unnecessary.

See gh-37434
2023-09-28 09:51:51 +02:00
Sreekara Reddy 8fad59466c Don't call setValidateConnectionOnBorrow on Oracle UCP datasource
See gh-37501
2023-09-28 09:10:59 +02:00
Phillip Webb 052757c2d8 Polish 2023-09-27 20:58:09 -07:00
Phillip Webb 3591f4d614 Restore test ensuring maxInboundMessageBodySize property matches default
See gh-37603
2023-09-27 18:21:24 -07:00
Andy Wilkinson 4e5f16f2bc Polish "Add config prop for Rabbit's max inbound message body size"
See gh-37603
2023-09-27 19:28:10 +01:00
Gary Russell 954f56287f Add config prop for Rabbit's max inbound message body size
See gh-37603
2023-09-27 19:28:10 +01:00
Andy Wilkinson f9b4a1ea5b Merge branch '3.1.x' 2023-09-27 19:27:58 +01:00
Andy Wilkinson 6fb252b00c Polish 2023-09-27 19:26:18 +01:00
Andy Wilkinson 4e38469ba2 Merge branch '3.1.x'
Closes gh-37611
2023-09-27 18:16:00 +01:00
Andy Wilkinson 4a3901149b Fix additional metadata location for spring.jmx.registration-policy
Closes gh-37596
2023-09-27 18:15:05 +01:00
Andy Wilkinson 192fb346bc Merge branch '3.1.x'
Closes gh-37610
2023-09-27 18:12:33 +01:00
Andy Wilkinson 1bcd127ad0 Merge branch '3.0.x' into 3.1.x
Closes gh-37609
2023-09-27 18:10:04 +01:00
Andy Wilkinson c486892a9b Fix additional metadata location for spring.webflux.multipart.streaming
Closes gh-37608
2023-09-27 18:09:14 +01:00
Andy Wilkinson 0d2eaa716c Polish "Add config prop for JMS listener's sessionTransacted flag"
See gh-37473
2023-09-27 15:07:36 +01:00
Vedran Pavic 79e2cb3ec1 Add config prop for JMS listener's sessionTransacted flag
This commit introduces `spring.jms.listener.session-transacted` property
in order to enable explicit configuration of `sessionTransacted` on the
`DefaultMessageListenerContainer`.

Prior to this commit, `sessionTransacted` would be configured implicitly
based on presence of `JtaTransactionManager`.

See gh-37473
2023-09-27 15:06:52 +01:00
Andy Wilkinson b7facec4a1 Rename spring.jms.listener.acknowledge-mode
Closes gh-37602
2023-09-27 14:41:09 +01:00
Andy Wilkinson 3adc70fd40 Polish "Add properties for JmsTemplate session's ack mode and transacted flag"
See gh-37500
2023-09-27 10:25:19 +01:00
Vedran Pavic 5ba4e2793d Add properties for JmsTemplate session's ack mode and transacted flag
See gh-37500
2023-09-27 10:19:45 +01:00
Andy Wilkinson b63efd17b8 Merge branch '3.1.x'
Closes gh-37595
2023-09-27 09:48:01 +01:00
Andy Wilkinson 5015327886 Merge branch '3.0.x' into 3.1.x
Closes gh-37594
2023-09-27 09:47:49 +01:00
Andy Wilkinson 6b107530f5 Polish "Use Neo4jManagedTypes to populate the mapping context"
See gh-37574
2023-09-27 09:33:56 +01:00
Michael Simons e0a5de01ca Use Neo4jManagedTypes to populate the mapping context
See gh-37574
2023-09-27 09:33:37 +01:00
Andy Wilkinson ecc670772a Make user details service auto-configs back off more readily
Previously auto-configuration of a user details service (imperative
or reactive) would only back off on the presence of certain beans.
This led to situations where the im-memory service was
auto-configured and the default password was logged even though
another authentication mechanism was in use.

This commit updates the auto-configuration so that it backs off
when depending on Spring Security's OAuth2 Client and OAuth2
Resource Server modules. In the imperative case it will also back
off when depending on the SAML 2 provider.

Closes gh-35338
2023-09-26 16:47:19 +01:00
Andy Wilkinson ab06d10d64 Fix checkpoint-restore with replaced or wrapped HikariDataSource
Closes gh-37580
2023-09-26 12:31:12 +01:00
Andy Wilkinson ee9c74556d Make reactive security back off without authentication manager
If there's no authentication manager bean or no bean from which
one can be created, Spring Security's reactive support may fail to
bootstrap due to a null authentication manager.

This commit causes the auto-configuration that enables WebFlux
security to back off in the absence of an AuthenticationManager bean
and a ReactiveUserDetailsService (from which Spring Security can
create an AuthenticationManager) bean. Other reactive security
auto-configuration that can configure things such that WebFlux security
can be bootstrapped without an AuthenticationManager has been updated
to enable WebFlux security rather than relying on another
auto-configuration class to do so.

Fixes gh-37504
2023-09-25 15:31:45 +01:00
Andy Wilkinson a7666ba8a5 Merge branch '3.1.x'
Closes gh-37554
2023-09-22 17:49:23 +01:00
Andy Wilkinson c838c707d8 Merge branch '3.0.x' into 3.1.x
Closes gh-37553
2023-09-22 17:44:44 +01:00
Andy Wilkinson e2982a3a07 Merge branch '2.7.x' into 3.0.x
Closes gh-37552
2023-09-22 17:44:30 +01:00
Andy Wilkinson feae7be0a1 Polish "Fix handling of JMS listener concurrency properties"
See gh-37180
2023-09-22 17:43:57 +01:00
Vedran Pavic 366607f517 Fix handling of JMS listener concurrency properties
Update JMS listener concurrency configuration to set the same minimum
and maximum number of consumers when users specify only the minimum
using `spring.jms.listener.concurrency` property.

Prior to this commit, when using `spring.jms.listener.concurrency` to
set the minimum number of consumers without also specifying
`spring.jms.listener.max-concurrency` would result in effective
concurrency where the actual minimum number of consumers is always 1,
while the maximum number of consumers is the value of
`spring.jms.listener.concurrency`.

See gh-37180
2023-09-22 17:43:56 +01:00
Vedran Pavic 433bd337f4 Rename JMS listener minimum concurrency property
This commit renames `spring.jms.listener.concurrency` property to
`spring.jms.listener.min-concurrency` in order to better align it with
`spring.jms.listener.max-concurrency`.

See gh-37451
2023-09-21 16:17:39 +02:00
Phillip Webb f55184a998 Update copyright year of changed files 2023-09-20 17:16:31 -07:00
Phillip Webb 2075f6c685 Merge branch '3.1.x' 2023-09-20 17:16:13 -07:00
Phillip Webb 78eb8f90d1 Merge branch '3.0.x' into 3.1.x 2023-09-20 17:12:27 -07:00
Phillip Webb 9b5062e5bb Merge branch '2.7.x' into 3.0.x 2023-09-20 17:06:55 -07:00
Phillip Webb b83e7b42bb Update copyright year of changed files 2023-09-20 16:05:44 -07:00
Moritz Halbritter cc214aac40 Merge branch '3.1.x'
Closes gh-37483
2023-09-20 11:30:42 +02:00
Moritz Halbritter b2dc52fc74 Merge branch '3.0.x' into 3.1.x
Closes gh-37482
2023-09-20 11:30:26 +02:00
Moritz Halbritter 5ec358099c Merge branch '2.7.x' into 3.0.x
Closes gh-37481
2023-09-20 11:29:38 +02:00
Moritz Halbritter 0ed455b058 Apply SAML2 sign-request even if metadata url is set
Closes gh-33747
2023-09-20 10:33:55 +02:00
Moritz Halbritter 8f52990c45 Merge branch '3.0.x' into 3.1.x
Closes gh-37457
2023-09-19 13:16:57 +02:00
Moritz Halbritter 99473362d8 Merge branch '2.7.x' into 3.0.x
Closes gh-37456
2023-09-19 13:16:40 +02:00
Moritz Halbritter 95690f7327 Fall back to all media types if encountering invalid Accept header
A warn log message is printed, and if log level is set to debug, the
exception stacktrace is logged, too.

Closes gh-37455
2023-09-19 09:52:02 +02:00
Moritz Halbritter bc7414d106 Merge branch '3.1.x' 2023-09-18 16:09:23 +02:00
Moritz Halbritter 7d505dc5b3 Polish JavaDoc 2023-09-18 15:27:07 +02:00
Johnny Lim 8f4ccb0535 Polish
See gh-37393
2023-09-15 11:44:06 +01:00
Moritz Halbritter 73c25d7156 Provide RestClientSsl as a bean
Closes gh-37400
2023-09-15 10:41:37 +02:00
Moritz Halbritter 3b15d46455 Use virtual threads on Spring Data Redis if enabled
Closes gh-35942
2023-09-14 14:30:47 +02:00
Andy Wilkinson 4f6e50b55a Make Spring Pulsar's Caffeine cache provider available to test compile
See gh-34763
2023-09-14 13:01:21 +01:00
Andy Wilkinson c5f7f11a13 Align with repackaging of CaffeineCacheProvider in Spring Pulsar
See gh-34763
2023-09-14 11:39:39 +01:00
Moritz Halbritter 92500720a7 Polish "Introduce configuration property for strict servlet compliance"
See gh-37242
2023-09-13 10:46:34 +02:00
Yanming Zhou 05b87c5fe8 Introduce configuration property for strict servlet compliance
The property is named spring.servlet.multipart.strict-servlet-compliance

See gh-37242
2023-09-13 10:42:22 +02:00
Johnny Lim c2b78830ff Polish
See gh-37340
2023-09-13 10:26:54 +02:00
Mahmoud Ben Hassine 626d858d81 Update Batch tests
Related to: https://github.com/spring-projects/spring-batch/issues/4245

Closes gh-37348
2023-09-12 14:05:15 +02:00
Moritz Halbritter 8a1f6d4f32 Merge branch '3.1.x'
Closes gh-37335
2023-09-11 16:50:44 +02:00
Stephane Nicoll 24eadd70ed Adapt to Spring Framework API change
This commit adapts to API changes in Spring Framework, see
spring-projects/spring-framework#31117

Previously, the "autowired" executable to use for a bean was always
resolved, even if a custom code fragment didn't really need it. This
is key for binding of immutable configuration properties as we use an
instance supplier for it.

This changes means that the workaround added in maintenance releases
can be removed.

See gh-37337
2023-09-11 16:03:27 +02:00
Andy Wilkinson 14a59a33dc Test that GraphQL QueryDSL auto-config backs off without Query DSL
See gh-34974
2023-09-11 15:00:22 +01:00
Moritz Halbritter e2d84fa462 Make SslStoreBundle implementations immutable
Closes gh-37222
2023-09-11 15:39:25 +02:00
Stephane Nicoll 078b399a93 Upgrade to Neo4j Java Driver 5.12.0
Closes gh-37324
2023-09-11 15:15:58 +02:00
Stephane Nicoll 18177451a9 Upgrade to Couchbase Client 3.4.10
Closes gh-37313
2023-09-11 15:15:57 +02:00
Brian Clozel c951c4c212 Polish GraphQL auto-configuration changes
This commit fixes build issues, as the recent changes surfaced an
existing problem: QueryDsl auto-configurations were not guarded by
classpath conditions for QueryDsl Core.

See gh-34974
2023-09-11 12:55:27 +02:00
Andy Wilkinson 4085425f91 Polish "Support unwrapping in ValidatorAdapter"
See gh-37119
2023-09-11 11:03:33 +01:00
Zisis Pavloudis eb6b151c41 Support unwrapping in ValidatorAdapter
See gh-37119
2023-09-11 10:42:32 +01:00
Andy Wilkinson 0242ba8a13 Merge branch '3.1.x' 2023-09-11 10:32:34 +01:00
Andy Wilkinson 7754dd290a Merge branch '3.0.x' into 3.1.x 2023-09-11 10:32:24 +01:00
Andy Wilkinson 994bafdfd9 Merge branch '2.7.x' into 3.0.x 2023-09-11 10:32:13 +01:00
Marten Deinum 5141e5c4ac Fix description of brokerUrl property in ArtemisProperties
Update description to refer to url instead of port.

See gh-37260
2023-09-11 10:31:19 +01:00
Stephane Nicoll 0206c30238 Upgrade to Couchbase Client 3.4.10
Closes gh-37297
2023-09-11 10:53:53 +02:00
Stephane Nicoll a52d7e255b Upgrade to Couchbase Client 3.4.10
Closes gh-37289
2023-09-11 10:51:59 +02:00
Brian Clozel 16940518c1 Polish GraphQL QueryBE and QueryDSL auto-configurations
Closes gh-34974
2023-09-08 17:52:42 +02:00
Brian Clozel 32b65e85ae Add config property for GraphQL Schema Mapping Inspection
This commit adds a new `spring.graphql.schema.inspection.enabled`
property, which is `true` by default.
This property enables the logging at the INFO level of the GraphQL
Schema inspection report.
During startup, Spring for GraphQL will inspect the schema and report
fields and registrations that are unmapped in the application.

Closes gh-36252
2023-09-08 14:58:24 +02:00
dkswnkk 1d7c0108d0 Capitalize order constant in TomcatWebServerFactoryCustomizer
See gh-37211
2023-09-08 11:28:29 +02:00
Andy Wilkinson ed5d16de84 Upgrade to Jetty 12
Closes gh-36073
2023-09-07 13:59:15 +01:00
Phillip Webb d9af7cec14 Merge pull request #37197 from onobc
* pr/37197:
  Polish 'Add Pulsar ConnectionDetails support'
  Add Pulsar ConnectionDetails support

Closes gh-37197
2023-09-06 12:26:59 -07:00
Phillip Webb 750c597225 Polish 'Add Pulsar ConnectionDetails support'
See gh-37197
2023-09-06 12:18:09 -07:00
Chris Bono 089fef0392 Add Pulsar ConnectionDetails support
Add `ConnectionDetails` support for Apache Pulsar and provide adapters
for Docker Compose and Testcontainers.

See gh-37197
2023-09-06 12:12:25 -07:00
Moritz Halbritter d84c81d18f Reduce logging in WelcomePageHandlerMapping on invalid Accept headers
Closes gh-37118
2023-09-06 14:23:27 +02:00
anessi 320dd0e24e Add virtual host support for Rabbit Stream
Add a new property 'spring.rabbitmq.stream.virtual-host' which can be
used to set a custom virtual host for streams.

See gh-37189
2023-09-06 10:17:51 +02:00
Chris Bono 6e7b845bdf Add support for Apache Pulsar
Add support for Apache Pulsar using the Spring for Apache Pulsar
project.

See gh-34763

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2023-09-05 17:01:51 -07:00
Moritz Halbritter 8f78acd548 Merge branch '3.1.x' 2023-09-05 15:28:23 +02:00
Moritz Halbritter 1962f4ecb7 Merge branch '3.0.x' into 3.1.x 2023-09-05 15:24:25 +02:00
Moritz Halbritter a69ff3bd59 Merge branch '2.7.x' into 3.0.x 2023-09-05 15:21:51 +02:00
Moritz Halbritter 76e51bc92f Only enable needed Couchbase services in integration tests 2023-09-05 15:10:12 +02:00
Andy Wilkinson 41f66fa7ec Merge branch '3.1.x'
Closes gh-37159
2023-08-31 15:23:40 +01:00
Andy Wilkinson c7063af63a Merge branch '3.0.x' into 3.1.x
Closes gh-37158
2023-08-31 15:23:21 +01:00
Andy Wilkinson 67e1ee5dcf Fix ordering of Jetty's WebSocketUpgradeFilter
Closes gh-37115
2023-08-31 15:22:26 +01:00
Moritz Halbritter f1f4e9c008 Implement RestClientBuilderConfigurer
Closes gh-36265
2023-08-31 14:01:44 +02:00
Johnny Lim 30eacd553d Add Javadoc since for new setTaskExecutor method
See gh-37117
2023-08-30 11:30:23 +01:00
Stephane Nicoll 19df3934c6 Upgrade to Flyway 9.21.2
Closes gh-37076
2023-08-23 11:27:27 +02:00
Stephane Nicoll 0f20fc2bbe Merge branch '3.1.x' 2023-08-22 14:45:10 +02:00
Stephane Nicoll 10873b0e7c Merge branch '3.0.x' into 3.1.x 2023-08-22 14:45:02 +02:00
Stephane Nicoll e8d329d99f Polish 2023-08-22 14:44:02 +02:00
Moritz Halbritter 450cd712c9 Merge branch '3.1.x'
Closes gh-37016
2023-08-17 12:18:46 +02:00
Moritz Halbritter a6b63d285c Merge branch '3.0.x' into 3.1.x
Closes gh-37015
2023-08-17 12:18:11 +02:00
Moritz Halbritter d3816651ce Merge branch '2.7.x' into 3.0.x
Closes gh-37014
2023-08-17 12:02:33 +02:00
Moritz Halbritter dc62e5fbc3 Polish "Set max request header size on Netty when using HTTP/2"
See gh-36766
2023-08-17 11:50:18 +02:00
Nerses Aznauryan ee5b23bb02 Set max request header size on Netty when using HTTP/2
Fix an issue that server.max-http-request-header-size doesn't have an
effect on Netty server with http2 enabled.

See gh-36766
2023-08-17 11:47:01 +02:00
Stephane Nicoll 37467c79d0 Polish "Reuse JOOQ helper to determine the dialect to use"
See gh-36991
2023-08-16 15:56:16 +02:00
Ramil Sayetov 36b5500ad0 Reuse JOOQ helper to determine the dialect to use
See gh-36991
2023-08-16 15:51:44 +02:00
Scott Frederick 73874911ad Adapt to changes in Spring Data snapshots
See gh-36680
2023-08-15 14:30:16 -05:00
Stephane Nicoll 85b4362ec6 Adapt to change in Spring Framework snapshots 2023-08-15 17:08:29 +02:00
Phillip Webb 2ef2529c93 Refine Flyway extension mapping
Change `ConfigurationExtensionMapper` to a helper class that can
create a `Consumer` to use with the `PropertyMapper`.

See gh-36364
2023-08-14 09:25:58 -07:00
Phillip Webb 8edec21a6f Update copyright year of changed files 2023-08-13 20:44:44 -07:00
Phillip Webb 407fa780c8 Polish 2023-08-13 20:44:44 -07:00
Phillip Webb d73d8f8e4f Merge branch '3.1.x' 2023-08-13 19:15:56 -07:00
Phillip Webb 155300525e Polish 2023-08-13 19:15:38 -07:00
Phillip Webb 848a61a3a8 Merge branch '3.0.x' into 3.1.x 2023-08-13 18:50:33 -07:00
Phillip Webb 9805723415 Update copyright year of changed files 2023-08-13 18:50:13 -07:00
Phillip Webb a0089c5c76 Merge branch '2.7.x' into 3.0.x 2023-08-13 18:44:36 -07:00
Phillip Webb 46773dd5df Update copyright year of changed files 2023-08-13 18:19:05 -07:00
Phillip Webb 527b2f2cac Polish 2023-08-13 18:18:48 -07:00
Andy Wilkinson b581ab0d3a Upgrade to Flyway 9.21.1
Closes gh-36887
2023-08-09 20:45:32 +01:00
Andy Wilkinson 6c3c8398d0 Upgrade to Elasticsearch Client 8.9.0
Closes gh-36886
2023-08-09 20:45:31 +01:00
Andy Wilkinson 3c7d400f0d Merge branch '3.1.x'
Closes gh-36866
2023-08-09 13:01:43 +01:00
Andy Wilkinson cac157b2a6 Merge branch '3.0.x' into 3.1.x
Closes gh-36865
2023-08-09 13:01:33 +01:00
Andy Wilkinson 7c77668372 Merge branch '2.7.x' into 3.0.x
Closes gh-36864
2023-08-09 13:01:23 +01:00
Andy Wilkinson c1f2efe00c Document that spring.security.filter properties are Servlet-only
Closes gh-33551
2023-08-09 12:56:33 +01:00
Moritz Halbritter 5b00d5f89b Auto-configure SimpleAsyncTaskScheduler when virtual threads are enabled
This auto-configures a new SimpleAsyncTaskSchedulerBuilder bean in the
context. This bean is configured to use virtual threads, if enabled.

SimpleAsyncTaskSchedulerCustomizers can be used to customize the built
SimpleAsyncTaskScheduler.

If virtual threads are enabled, the application task scheduler is
configured to be a SimpleAsyncTaskScheduler.

Adds a new configuration property spring.task.scheduling.simple
.concurrency-limit

Closes gh-36609
2023-08-09 13:43:08 +02:00
Stephane Nicoll 38dbc644ae Add auto-configuration for JdbcClient
Closes gh-36579
2023-08-09 11:18:25 +02:00
Moritz Halbritter b5a48e926d Handle timeout of latch await in tests 2023-08-08 13:12:48 +02:00
Moritz Halbritter 62fb45f75f Replace contains/put/get pattern with computeIfAbsent 2023-08-08 13:12:47 +02:00
Moritz Halbritter 7bb337aeb1 Polish tests 2023-08-08 13:12:47 +02:00
Moritz Halbritter ed9169501e Polish 2023-08-08 13:12:47 +02:00
Stephane Nicoll acf6bb644a Merge branch '3.1.x'
Closes gh-36773
2023-08-07 14:09:07 +02:00
Stephane Nicoll 10fecc855c Merge branch '3.0.x' into 3.1.x
Closes gh-36772
2023-08-07 14:08:57 +02:00
Stephane Nicoll e7706b4201 Merge branch '2.7.x' into 3.0.x
Closes gh-36771
2023-08-07 14:08:48 +02:00
Stephane Nicoll 5e11bac1da Polish "Configure ActiveMQConnectionFactory properly without spring-jms"
See gh-36767
2023-08-07 14:05:31 +02:00
Eddú Meléndez bcfaad2cb8 Configure ActiveMQConnectionFactory properly without spring-jms
Previously, if spring-jms is not available and a non-pool connection
factory is requested (the default), no `CachingConnectionFactory` is
created. This commit makes sure to separate the two conditions, so
that a connection factory can be obtained even if spring-jms is not
on the classpath.

See gh-36767
2023-08-07 14:03:27 +02:00
Moritz Halbritter 1a8b8ce26e Revert "Revise synchronized blocks"
This reverts commit 497bbf9c2d.
2023-08-03 17:26:31 +02:00
Moritz Halbritter d93d05ade2 Revert "Use virtual threads in BackgroundPreinitializer if enabled"
This reverts commit 4bbc336321.
2023-08-03 17:24:56 +02:00
Marc Becker 36e31c0612 Add resource hints for MessageSource
This only registers the default locations, not the one users can provide
via 'spring.messages.basename'.

This is similar to the approach taken for schema.sql and data.sql
in class SqlInitializationScriptsRuntimeHints.

See gh-36682
2023-08-03 12:56:06 +01:00
Andy Wilkinson 8ce5fb5f06 Merge branch '3.1.x'
Closes gh-36701
2023-08-03 12:44:43 +01:00
Andy Wilkinson 664581eb90 Merge branch '3.0.x' into 3.1.x
Closes gh-36700
2023-08-03 12:44:26 +01:00
Andy Wilkinson c6dc505932 Auto-configure JsonpMapper even with user-defined transport
Closes gh-36698
2023-08-03 12:44:13 +01:00
Moritz Halbritter 4bbc336321 Use virtual threads in BackgroundPreinitializer if enabled
Closes gh-36695
2023-08-03 11:16:16 +02:00
Andy Wilkinson 48813a0e5b Merge branch '3.1.x'
Closes gh-36697
2023-08-03 10:11:43 +01:00
Andy Wilkinson 12a2c615a9 Merge branch '3.0.x' into 3.1.x
Closes gh-36696
2023-08-03 10:10:22 +01:00
Andy Wilkinson 803c155e69 Order default customizers so that they can be overridden
Closes gh-36674
2023-08-03 10:09:27 +01:00
Moritz Halbritter 497bbf9c2d Revise synchronized blocks
- Replace synchronized with Lock when guarding long-running operations
- Remove unnecessary synchronization in FileSystemWatcher
- Replace HashMap with ConcurrentHashMap in Restarter
- Remove unnecessary locking on AtomicBoolean in
  SpringApplicationBuilder
- Remove unnecessary locking in SimpleFormatter

Closes gh-36670
2023-08-03 09:23:46 +02:00
Andy Wilkinson 77e382ec64 Polish "Add support for using an AuthTokenManager with Neo4j"
See gh-36650
2023-08-02 14:30:03 +01:00
Michael Simons 1f0a3901b2 Add support for using an AuthTokenManager with Neo4j
Neo4j Java driver introduced support for an `AuthTokenManager` that can
be used to define expiring tokens for authentication with a database.

This commit adds an `ObjectProvider<AuthTokenManager> authTokenManagers`
parameter to the corresponding auto configuration class. If the provider
resolves to a unique object, that `AuthTokenManager` will have precedence
over any static token.

See gh-36650
2023-08-02 14:30:03 +01:00
Stephane Nicoll a223834d57 Polish "Order auto-configured ProblemDetailsExceptionHandler beans"
See gh-36288
2023-08-02 15:28:01 +02:00
Maurice Zeijen 9955ee7e8a Order auto-configured ProblemDetailsExceptionHandler beans
Add `@Order(0)` to the WebMVC and Webflux
`ProblemDetailsExceptionHandler` beans. This makes it easier to create
custom `@ControllerAdvice` beans that must be ordered before or after
the `ProblemDetailsExceptionHandler`.

See gh-36288
2023-08-02 15:27:44 +02:00
Moritz Halbritter 3a9fadf30f Enable virtual threads for Kafka listener
Closes gh-36396
2023-08-02 10:59:19 +02:00
Scott Frederick f2ad08c292 Add since version to deprecated config properties
See gh-36482
2023-08-01 16:13:22 -05:00
Andy Wilkinson 806aa45279 Merge branch '3.1.x'
Closes gh-36661
2023-08-01 18:14:03 +01:00
Andy Wilkinson 0d646d7c26 Polish "Support ServiceConnection beans in slice tests"
See gh-36037
2023-08-01 18:12:53 +01:00
Stephane Nicoll 75bb862255 Remove dead code 2023-08-01 16:51:48 +02:00
Moritz Halbritter 19859a9023 Simplify TaskExecutionAutoConfiguration 2023-08-01 15:40:05 +02:00
Moritz Halbritter 4ba7463d75 Polish 2023-08-01 15:34:52 +02:00
Moritz Halbritter 51008a7d39 Add ThreadPoolTaskSchedulerBuilder and deprecate TaskSchedulerBuilder
Closes gh-36651
2023-08-01 10:32:58 +02:00
Stephane Nicoll 922f66a85d Merge branch '3.1.x'
Closes gh-36654
2023-07-31 17:16:17 +02:00
Michael Simons ef3b99ee51 Fix test declaration in Neo4jAutoConfigurationTests
The test was annotated `@Bean`, must be `@Test`.

See gh-36649
2023-07-31 17:12:57 +02:00
Moritz Halbritter e4c38e59a9 Implement SimpleAsyncTaskExecutorBuilder
The SimpleAsyncTaskExecutorBuilder can be used to create
SimpleAsyncTaskExecutor. It will be auto-configured into the context.
SimpleAsyncTaskExecutorCustomizer can be used to customize the built
SimpleAsyncTaskExecutor.

If virtual threads are enabled:
- SimpleAsyncTaskExecutor will use virtual threads
- SimpleAsyncTaskExecutorBuilder will be used as the application task
  executor

A new property 'spring.task.execution.simple.concurrency-limit' has been
added to control the concurrency limit of the SimpleAsyncTaskExecutor

Closes gh-35711
2023-07-31 14:08:00 +02:00
Moritz Halbritter 32c91af440 Add ThreadPoolTaskExecutorBuilder and deprecate TaskExecutorBuilder
Closes gh-36637
2023-07-31 11:51:17 +02:00
Moritz Halbritter 1347b998e6 Remove @ConditionalOnVirtualThreads
See gh-36624
See gh-35892
2023-07-28 14:28:16 +02:00
Moritz Halbritter 9e212875c3 Remove VirtualThreads bean
Reverts eeb1e1fc35

See gh-36615
See gh-36387
2023-07-28 14:28:15 +02:00
Moritz Halbritter bf48819222 Implement @ConditionalOnThreading
Closes gh-36624
2023-07-28 14:28:15 +02:00
Moritz Halbritter b1a3dad16c Configure virtual threads on the RabbitMQ listener
Closes gh-36387
2023-07-27 16:32:53 +02:00
Moritz Halbritter eeb1e1fc35 Add VirtualThreads bean and auto-configuration
This bean is only in the context if virtual threads are enabled. It can
be used to get access to the virtual thread executor.
2023-07-27 16:32:51 +02:00
Moritz Halbritter 3cc9a3bb32 Remove duplicate applicationTaskExecutor bean method
See gh-35710
2023-07-27 11:27:29 +02:00
Moritz Halbritter 39f6b85039 Polish 2023-07-27 09:14:04 +02:00
Moritz Halbritter 9cb5763794 Add property to set changeConsumerThreadName for Kafka
Closes gh-36343
2023-07-26 13:59:19 +02:00
Moritz Halbritter 49ae8c0998 Auto-configure Kafka's threadNameSupplier
Closes gh-36344
2023-07-26 13:59:19 +02:00
Stephane Nicoll b0438b0f03 Polish "Allow custom RSocket WebsocketServerSpecs to be defined"
See gh-29567
2023-07-26 13:45:26 +02:00
Leo Li f840141652 Allow custom RSocket WebsocketServerSpecs to be defined
See gh-29567
2023-07-26 13:42:06 +02:00
Stephane Nicoll 54066791f9 Polish "Add RabbitMQ container forceStop property"
See gh-36539
2023-07-26 11:20:36 +02:00
Gary Russell 8b716a2f6c Add RabbitMQ container forceStop property
See gh-36539
2023-07-26 11:16:52 +02:00
Johnny Lim 96c9915f12 Polish
See gh-36565
2023-07-26 10:00:56 +02:00
Andy Wilkinson b476d368db Polish "Make HikariDataSource participate in checkpoint-restore"
See gh-36422
2023-07-25 17:19:58 +01:00
Christoph Strobl 9240f971fb Make HikariDataSource participate in checkpoint-restore
See gh-36422
2023-07-25 16:27:56 +01:00
Andy Wilkinson 14d2675aab Add `@ConditionalOnCheckpointRestore`
Closes gh-36536
2023-07-25 16:27:46 +01:00
Moritz Halbritter 6050fff078 Auto-configure observability for R2DBC
The new ConnectionFactoryDecorator can be used to decorate the
ConnectionFactory built by the ConnectionFactoryBuilder.

The new R2dbcObservationAutoConfiguration configures a
ConnectionFactoryDecorator to attach a ObservationProxyExecutionListener
to ConnectionFactories. This enables Micrometer Observations for R2DBC
queries.

Closes gh-33768
2023-07-25 17:01:55 +02:00
Stephane Nicoll d04daf9184 Merge branch '3.1.x'
Closes gh-36533
2023-07-24 16:32:10 +02:00
Stephane Nicoll a607056b98 Merge branch '3.0.x' into 3.1.x
Closes gh-36532
2023-07-24 16:31:56 +02:00
Stephane Nicoll 259fac57a9 Merge branch '2.7.x' into 3.0.x
Closes gh-36531
2023-07-24 16:29:56 +02:00
Stephane Nicoll 854c162966 Polish "Fail fast if job name does not exist"
See gh-36060
2023-07-24 16:21:44 +02:00
Akshay Dubey c38cd74542 Fail fast if job name does not exist
See gh-36060
2023-07-24 16:15:04 +02:00
Stephane Nicoll 740ed18fa7 Merge branch '3.1.x'
Closes gh-36530
2023-07-24 16:10:20 +02:00
Stephane Nicoll 89066b4d1e Merge branch '3.0.x' into 3.1.x
Closes gh-36529
2023-07-24 16:09:32 +02:00