Commit Graph

4358 Commits

Author SHA1 Message Date
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
Stephane Nicoll 73cc54ad34 Prevent PostConstruct to be used in production code
Closes gh-36528
2023-07-24 16:08:50 +02:00
Christoph Dreis 343c9c6f7e Remove references to Atomikos and Bitronix
See gh-35562
2023-07-21 16:23:14 +01:00
Andy Wilkinson 290ef3ccf6 Merge branch '3.1.x'
Closes gh-36493
2023-07-21 15:28:23 +01:00
Andy Wilkinson c38bca04c4 Merge branch '3.0.x' into 3.1.x
Closes gh-36492
2023-07-21 15:28:02 +01:00
Andy Wilkinson 6a2a3e2b26 Merge branch '2.7.x' into 3.0.x
Closes gh-36491
2023-07-21 15:06:34 +01:00
Andy Wilkinson 5a0f1bbe9b Polish "Correct description of overrides for spring.redis.url"
See gh-36477
2023-07-21 14:47:54 +01:00
Johnny Lim 1effd3723f Correct description of overrides for spring.redis.url
See gh-36477
2023-07-21 14:47:25 +01:00
Andy Wilkinson 3affb3342e Deprecate auto-configuration for InfluxDB
Closes gh-35190
2023-07-20 13:31:10 +01:00
Stephane Nicoll 311fa6272d Polish "Add service connection for Testcontainers ActiveMQ"
This also adds support for Docker Compose.

See gh-35080
2023-07-20 13:03:41 +02:00
Eddú Meléndez 63121dd08a Add service connection for Testcontainers ActiveMQ
See gh-35080
2023-07-20 13:03:41 +02:00
Moritz Halbritter 54e99d68fa Auto-configure ObservationRegistry on ScheduledTaskRegistrar
The TaskSchedulingAutoConfiguration.taskScheduler auto-configuration now
no longer backs off on SchedulingConfigurer beans.

Closes gh-36119
2023-07-20 09:43:12 +02:00
Andy Wilkinson e0d021b710 Merge branch '3.1.x'
Closes gh-36446
2023-07-18 21:16:49 +01:00
Andy Wilkinson fe123e5b10 Fix handling of additional-hosts with Mongo
Closes gh-36441
2023-07-18 21:15:20 +01:00
Andy Wilkinson 283dc37db3 Make AnnotatedControllerConfigurer use applicationTaskExecutor
Closes gh-36388
2023-07-18 15:35:31 +01:00
Stephane Nicoll c6e47b86d7 Move Flyway configuration extension properties to dedicated namespace
This commit harmonizes the handling of ConfigurationExtension for
Flyway. The existing Oracle and SQLServer extensions are now mapped from
flway.oracle and flyway.sqlserver, respectively. The existing properties
have been deprecated in favor of the new location.

Closes gh-36444
2023-07-18 16:15:50 +02:00
Stephane Nicoll 8da706603e Add support for flyway.postgresql.transactional.lock
Closes gh-32629
2023-07-18 15:44:38 +02:00
Stephane Nicoll 71406977c2 Harmonize configuration of Flyway SQL Server extension
Closes gh-36440
2023-07-18 13:58:18 +02:00
Stephane Nicoll fb640c04e7 Upgrade to Flyway 9.20.1
Closes gh-36364

Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>
2023-07-18 13:58:17 +02:00
Andy Wilkinson d205d10519 Configure WebFlux's blocking execution to use applicationTaskExecutor
Closes gh-36331
2023-07-18 11:18:25 +01:00
Stephane Nicoll c19a0a76c0 Merge branch '3.1.x'
Closes gh-36421
2023-07-17 13:23:15 +02:00
Johnny Lim 9b38db6672 Polish PemSslBundleProperties
See gh-36281
2023-07-17 13:22:27 +02:00
Andy Wilkinson f33874e98e Allow auto-configured applicationTaskExecutor to use virtual threads
With this commit, when virtual threads are enabled, the auto-configured
applicationTaskExecutor changes from a ThreadPoolTaskExecutor to a
SimpleAsyncTaskExecutor with virtual threads enabled.

As before, any TaskDecorator bean is applied to the auto-configured
executor and the spring.task.execution.thread-name-prefix property is
applied. Other spring.task.execution.* properties are ignored as they
are specific to a pool-based executor.

Closes gh-35710
2023-07-17 10:01:16 +01:00
Stephane Nicoll 783bfb62e2 Merge branch '3.1.x'
Closes gh-36420
2023-07-17 10:04:14 +02:00
Stephane Nicoll d2912c6442 Update copyright year of changed files
See gh-36306
2023-07-17 09:40:57 +02:00
Christoph Dreis 8321887d6a Fix typos
See gh-36306
2023-07-17 09:40:16 +02:00
Andy Wilkinson f2a50919a9 Merge branch '3.1.x'
Closes gh-36410
2023-07-14 10:42:28 +01:00
Andy Wilkinson 3f4474031f Merge branch '3.0.x' into 3.1.x
Closes gh-36409
2023-07-14 10:42:05 +01:00
Pengfei-Lu 8697d9ddd5 Correct conditions on auto-configured JacksonJsonpMapper
See gh-36109

Signed-off-by: Pengfei-Lu <459360594@qq.com>
2023-07-13 18:10:21 +01:00