4838 Commits

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