Commit Graph

4867 Commits

Author SHA1 Message Date
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