4303 Commits

Author SHA1 Message Date
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 497bbf9c2d0fafa49e5e9e2688fcc8000d9f5675.
2023-08-03 17:26:31 +02:00
Moritz Halbritter
d93d05ade2 Revert "Use virtual threads in BackgroundPreinitializer if enabled"
This reverts commit 4bbc3363213fffa6a366ecbb603ddd38f330f6a6.
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 eeb1e1fc35267f5a200284a8390dccc10fc8b355

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