Commit Graph

5110 Commits

Author SHA1 Message Date
Dmytro Nosan f0c5312141 Add TaskDecorator support for scheduled tasks
See gh-43190
2025-01-07 12:15:45 +01:00
Stéphane Nicoll e6af48fc20 Polish "Retain existing modules in JacksonAutoConfiguration"
See gh-42836
2025-01-07 11:58:47 +01:00
Dmytro Nosan 993fbb3a0d Retain existing modules in JacksonAutoConfiguration
Previously, the default Jackson2ObjectMapperBuilderCustomizer
implementation did set the list of modules to use. This had the effect
of removing any modules that were registered programmatically by a
customizer with higher precedence.

This commit uses the variant of modulesToInstall that retain any
existing modules. It also adds a note in the documentation as this
behavior can be easily missed.

See gh-42836
2025-01-07 11:56:20 +01:00
Phillip Webb 170ff4eb23 Update copyright year of changed files 2025-01-06 17:40:24 -08:00
Phillip Webb 4c307d6fda Switch away from using @ConditionalOnProperty prefix
Merge `prefix` into `name` attribute and simplify annotations
where possible.

Closes gh-43703
2025-01-06 14:37:18 -08:00
Stéphane Nicoll 97f9589404 Merge branch '3.3.x'
Closes gh-43604
2024-12-24 10:29:21 +01:00
Stéphane Nicoll 916705538e Polish "Add support for symlinks in FileWatcher"
See gh-43586
2024-12-24 10:22:52 +01:00
Tomasz Maciejewski 26ca3790b2 Add support for symlinks in FileWatcher
This commit allows using symlinks for SSL certificate hot reloading.

See gh-43586
2024-12-24 09:59:59 +01:00
Johnny Lim 81f67b13e6 Remove unused ScopedFooConfiguration in ConditionalOnMissingBeanTests
See gh-43592
2024-12-23 15:49:16 +01:00
Phillip Webb ef431609ab Merge branch '3.3.x'
Closes gh-43563
2024-12-18 10:44:28 -08:00
Phillip Webb ba916cb66e Allow KafkaProperties to build properties with empty bundle name
Update `KafkaProperties` so that properties can still be built when
the bundle name has no text.

Fixes gh-43561
2024-12-18 10:44:18 -08:00
Phillip Webb 4d6fc85c8e Merge branch '3.3.x' 2024-12-13 19:03:48 -08:00
Phillip Webb 45da43c6b4 Update copyright year of changed files 2024-12-13 19:03:43 -08:00
Johnny Lim 4d15ee5bf0 Polish
See gh-43498
2024-12-13 13:29:20 -08:00
Moritz Halbritter 8c20e6c1e9 Merge branch '3.3.x'
Closes gh-43497
2024-12-13 14:17:47 +01:00
Dmytro Nosan 1234409fbe Multiple WebFlux ResourceHandlerRegistrationCustomizer should be invoked
Before this commit, only a single ResourceHandlerRegistrationCustomizer
was invoked. This commit adds functionality to have more
than one ResourceHandlerRegistrationCustomizers

See gh-43494
2024-12-13 14:00:47 +01:00
Moritz Halbritter 61bab92231 Merge branch '3.3.x'
Closes gh-43484
2024-12-11 14:25:44 +01:00
Yanming Zhou a964bbd8cb Polish variable name for consistency
See gh-43483
2024-12-11 14:25:19 +01:00
Phillip Webb 565ec07046 Merge branch '3.3.x'
Closes gh-43448
2024-12-09 09:46:47 -08:00
Phillip Webb 3338c22372 Restore `build...` methods that don't need an SSL bundle
Restore `buildConsumerProperties()` and `buildProducerProperties()`
methods in `KafkaProperties` to make it more convenient to use them
without an SSL bundle.

Fixes gh-43300
2024-12-09 09:43:13 -08:00
Phillip Webb 86b0c768e7 Fix annotation matching when using scoped proxies
Update `OnBeanCondition` to check `isAutowireCandidate` on the original
bean of scoped proxy targets.

Fixes gh-43423
2024-12-05 18:05:23 -08:00
Phillip Webb 916efb632c Merge branch '3.3.x' 2024-12-04 15:04:22 -08:00
Phillip Webb 9e7972a9b4 Polish code with code cleanup rules 2024-12-04 15:03:40 -08:00
Phillip Webb 3ddfd62f16 Prefer file resolution when loading SSL content
Update `SslAutoConfiguration` so that the used resource loader prefers
file based resolution when paths are specified without a prefix. This
restores the behavior found in Spring Boot 3.3.

The `ApplicationResourceLoader` has been updated with a new `get` method
that accepts a `preferFileResolution` parameter. Unfortunately, we can't
directly influence the resource returned by the delegate
`ResourceLoader` since we can't override `getResourceByPath(...)`.
Instead we check if the returned type was likely to have been created
by a call to that method. If so, we change it to a `FileSystemResource`.

This approach should hopefully work with `DefaultResourceLoader` and
subclasses.

Fixes gh-43274
2024-12-03 15:00:15 -08:00
Phillip Webb 7a4e071709 Polish 2024-12-03 14:45:25 -08:00
Phillip Webb 91778e9f96 Merge branch '3.3.x'
Closes gh-43359
2024-12-02 19:05:21 -08:00
Phillip Webb b340c855c0 Prevent H2 console from causing early DataSource initialization
Update `H2ConsoleAutoConfiguration` so that DataSource connection
logging occurs outside of the `ServletRegistrationBean`.

Fixes gh-43337
2024-12-02 19:05:16 -08:00
Moritz Halbritter ff9fde0ef4 Polish "Make UserDetailsServiceAutoConfiguration conditional on servlet app"
See gh-43334
2024-12-02 13:40:51 +01:00
BenchmarkingBuffalo c5d41f1469 Make UserDetailsServiceAutoConfiguration conditional on servlet app
See gh-43334
2024-12-02 13:22:07 +01:00
Johnny Lim 859c235a95 Polish
See gh-43316
2024-11-29 10:35:11 +01:00
Andy Wilkinson 512584d990 Merge branch '3.3.x'
Closes gh-43325
2024-11-29 09:18:28 +00:00
Stefano Cordio 26b1d74470 Fix link to proxyBeanMethods in @AutoConfiguration javadoc
See gh-43323
2024-11-29 09:17:27 +00:00
Stéphane Nicoll d8c41c2583 Defensively unwrap CacheConnectionFactory
This commit refines the optimization introduced in gh-39816 to only
unwrap our own caching connection factory. The more advanced unwrap
algorithm is still available, but opt-in only.

Unwrapping more aggressively may break use cases where the wrapped
ConnectionFactory is required, i.e. for transactional purposes.

Closes gh-43277
2024-11-26 19:56:32 +01:00
Andy Wilkinson 32433e84f3 Merge branch '3.3.x'
Closes gh-43270
2024-11-22 15:46:38 +00:00
Andy Wilkinson 109e731c83 Revert "Add `@ConditionalOnMissingBean` for `JobRepository`"
This reverts commit 73fc351d71.

See gh-43236
2024-11-21 13:31:20 +00:00
Phillip Webb 73fc351d71 Add `@ConditionalOnMissingBean` for `JobRepository`
Update `BatchAutoConfiguration` so that the `JobRepository` is not
defined when the user provides an appropriate bean.

Fixes gh-43236
2024-11-20 21:57:52 -08:00
Phillip Webb 3cae5c27d1 Merge branch '3.3.x' 2024-11-20 20:58:02 -08:00
Yanming Zhou 7fdc9742af Prohibit unnecessary value on `@EnumSource`
See gh-43214
2024-11-18 21:50:35 -08:00
Phillip Webb 26c775eff8 Register `AutoConfigurations` using fully qualified class name
Update `AbstractApplicationContextRunner` and `Configurations` to
allow registration of beans with a specific generated bean name. By
default, no name is generated, however, `AutoConfigurations` has been
updated to use bean names using the fully qualified class name.

The update brings `ApplicationContextRunners` closer the behavior of
a standard Spring Boot application where user `@Configuration` classes
are usually registered with a simple name and auto-configurations are
imported (via an `ImportSelector`) using a fully qualified name.

Fixes gh-17963

Co-authored-by: Stéphane Nicoll <stephane.nicoll@broadcom.com>
Co-authored-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
Co-authored-by: Dmytro Nosan <dimanosan@gmail.com>
2024-11-18 21:37:42 -08:00
Phillip Webb a705402e75 Polish
Co-authored-by: Stéphane Nicoll <stephane.nicoll@broadcom.com>
2024-11-18 21:36:56 -08:00
Phillip Webb 76226f99d8 Merge branch '3.3.x'
Closes gh-43199
2024-11-15 13:27:24 -08:00
Phillip Webb dba395dc0c Merge branch '3.2.x' into 3.3.x
Closes gh-43198
2024-11-15 13:27:17 -08:00
Phillip Webb a20cc3d4e6 Clarify documentation for 'spring.datasource.type'
Closes gh-43193
2024-11-15 13:26:45 -08:00
Moritz Halbritter 70d5756ce5 Polish "Add logger warning if Hikari datasource doesn't have pool suspension configured"
See gh-42937
2024-11-14 11:03:53 +01:00
Stéphane Nicoll 9fb7077402 Upgrade to Neo4j Java Driver 5.26.2
Closes gh-43132
2024-11-13 09:30:35 +09:00
Andy Wilkinson 1e8b23e300 Merge branch '3.3.x'
Closes gh-43072
2024-11-08 11:04:29 +00:00
Andy Wilkinson 1ae9b8ea1b Merge branch '3.2.x' into 3.3.x
Closes gh-43071
2024-11-08 10:55:52 +00:00
Andy Wilkinson 5d63335a5c Polish "Use constants for well-known scope names"
See gh-43065
2024-11-08 10:53:11 +00:00
Yanming Zhou 03841b1229 Use constants for well-known scope names
See gh-43065
2024-11-08 10:01:19 +00:00
Stéphane Nicoll fdf24c6caa Merge branch '3.3.x'
Closes gh-42976
2024-11-02 20:25:35 +09:00
Stéphane Nicoll a224c8188c Fix copyright year of updated file
See gh-42974
2024-11-02 20:21:19 +09:00
Tran Ngoc Nhan 9e92bfe906 Polish
See gh-42974
2024-11-02 20:20:06 +09:00
Phillip Webb 06f0b91429 Add @Order to WebSocketMessageConverterConfiguration
Add `@Order` to `WebSocketMessageConverterConfiguration` so that custom
`WebSocketMessageBrokerConfigurer` implementations can be added before
or after ours.

Fixes gh-42924
2024-11-01 17:49:38 -07:00
Dmytro Nosan 85b1c567f1 Support timeout property for GraphQL over SSE
See gh-42966
2024-11-01 14:13:32 -07:00
Andy Wilkinson 2b3c93ffda Consider factory beans when finding candidates
Previously, if a bean name was a factory dereference its definition
would not be found. When the definition wasn't found it was assumed
that the bean was an autowire candidate and a default candidate.
If this, in fact, was not the case, @ConditionalOnMissingBean would
not match when it should have done and @ConditionalOnBean would
match when it should not had done.

This commit updates the bean-based conditions to correctly consider
factory beans so that whether or not they are a candidate can be
evaluated correctly.

Fixes gh-42970
2024-11-01 15:19:49 +00:00
Andy Wilkinson f4c6aab02b Merge branch '3.3.x'
Closes gh-42945
2024-10-30 10:44:27 +00:00
Andy Wilkinson 53186655f9 Merge branch '3.2.x' into 3.3.x
Closes gh-42944
2024-10-30 10:44:04 +00:00
Andy Wilkinson e8b8584175 Merge branch '3.3.x'
Closes gh-42943
2024-10-30 10:26:19 +00:00
Andy Wilkinson 1ad5fb8638 Merge branch '3.2.x' into 3.3.x
Closes gh-42942
2024-10-30 10:26:04 +00:00
Andy Wilkinson 1c61e59099 Prohibit unnecessary values on @ConditionalOnMissingBean
Closes gh-42941
2024-10-30 10:24:00 +00:00
Andy Wilkinson 00ceb378c4 Polish "Remove unnecessary values from @ConditionalOnMissingBean"
See gh-42933
2024-10-30 10:02:27 +00:00
Yanming Zhou 88d7a1e74a Remove unnecessary values from @ConditionalOnMissingBean
See gh-42933
2024-10-30 10:00:11 +00:00
Andy Wilkinson fbb09cd09c Merge branch '3.3.x'
Closes gh-42926
2024-10-29 14:58:23 +00:00
Andy Wilkinson 87f29f63aa Merge branch '3.2.x' into 3.3.x
Closes gh-42925
2024-10-29 14:57:43 +00:00
Andy Wilkinson b1653708e4 Improve thread-safety of OnClassCondition
Closes gh-41709
2024-10-29 13:26:16 +00:00
Yanming Zhou 46c40b4ddc Polish
See gh-42912
2024-10-29 13:45:40 +09:00
Phillip Webb 24202a0a78 Update copyright year of changed files 2024-10-25 18:21:53 -07:00
Moritz Halbritter 85b1c55bb8 Polish 2024-10-25 13:40:21 +02:00
Phillip Webb 36a22fcd59 Unify HTTP client redirect behavior and provide configuration option
Update `ClientHttpRequestFactoryBuilder` implementations to ensure
that all libraries have consistent redirect follow behavior. Following
of redirects is enabled by default.

The `ClientHttpRequestFactorySettings` may be used to change if
redirects should be followed. The `spring.http.client.redirects`
property may also be used to update the default behavior.

Closes gh-42879
2024-10-25 02:45:36 -07:00
Phillip Webb 3a8b2e4bc8 Add `HttpClientAutoConfiguration` and use it wherever possible
Add a new `HttpClientAutoConfiguration` class that provides
`ClientHttpRequestFactoryBuilder` and `ClientHttpRequestFactorySettings`
beans and new configuration properties.

The existing `RestTemplate`, `RestClient` and `WebServiceTemplate`
auto-configurations have been updated to make use of the new
HTTP client support.

Users may now set `spring.http.client` property to globally change
the `ClientHttpRequestFactory` used in their application.

Closes gh-36266
2024-10-25 02:45:35 -07:00
Phillip Webb e6b840004d Support ResourceLoader delegation from ApplicationResourceLoader
Update `ApplicationResourceLoader` to support delegation to another
`ResourceLoader`. The update allows customer resource loaders to be
used when loading SSL resources.

Closes gh-42835
2024-10-22 22:07:42 -07:00
Phillip Webb 65fcf34773 Merge branch '3.3.x'
Closes gh-42840
2024-10-22 19:23:43 -07:00
Phillip Webb dcbf0096d8 Use context class loader when watching SSL resource
Update `BundleContentProperty` to use a provided resource loader when
watching files.

Fixes gh-42468
2024-10-22 19:22:33 -07:00
Phillip Webb fdf7ca9093 Merge branch '3.3.x'
Closes gh-42839
2024-10-22 18:45:19 -07:00
Phillip Webb 499672184c Use context class loader when loading auto-configured SSL bundles
Update `SslAutoConfiguration` to the `ApplicationContext` class loader
when loading SSL resources. Prior to this commit, the thread context
class loader was used to load resources which could be incorrect.
Specifically, when using a `ForkJoinPool` the thread context classloader
defaults to the JRE `AppClassLoader` which does not include uber jar
content.

The underlying `JksSslStoreBundle` class and `PemSslStore.load(...)`
method have been updated so support using a provided `ResourceLoader`.

Fixes gh-42468
2024-10-22 18:43:57 -07:00
Phillip Webb 61fbb12499 Polish 2024-10-22 16:05:51 -07:00
Andy Wilkinson e26c6d6403 Recommend using defaultCandidate=false on qualified beans
Closes gh-42831
2024-10-22 17:49:23 +01:00
Andy Wilkinson ea4b53d6ae Add auto-configuration for an indexed reactive session repository
Closes gh-42604
2024-10-22 13:40:53 +01:00
Andy Wilkinson fc091f7bdd Introduce @BatchTaskExecutor for customizing Batch's task executor
Closes gh-40040
2024-10-22 10:48:34 +01:00
Dmytro Nosan 1796c20017 Add support for ClickHouse in `DatabaseDriver` enum
See gh-42815
2024-10-21 20:34:01 -07:00
Tran Ngoc Nhan fcbf6b0200 Polish
See gh-42798
2024-10-21 13:23:42 +02:00
Phillip Webb 2f5f224559 Merge branch '3.3.x' 2024-10-18 10:49:15 -07:00
Phillip Webb 3481107ff7 Update copyright year of changed files 2024-10-18 10:48:29 -07:00
Phillip Webb 168d82e138 Polish 2024-10-18 10:47:52 -07:00
Andy Wilkinson f5dba49e79 Merge branch '3.3.x'
Closes gh-42790
2024-10-18 15:32:46 +01:00
Andy Wilkinson 7cc03444fb Merge branch '3.2.x' into 3.3.x
Closes gh-42789
2024-10-18 15:32:35 +01:00
Andy Wilkinson 74d13d3a8d Note that max HTTP request head size semantics are server-specific
Closes gh-40798
2024-10-18 15:31:54 +01:00
Moritz Halbritter 44e66ef344 Remove server.tomcat.reject-illegal-header
Closes gh-42731
2024-10-17 14:03:00 +02:00
Moritz Halbritter c018c43886 Merge branch '3.3.x'
Closes gh-42736
2024-10-17 13:44:25 +02:00
Moritz Halbritter 8efe6e02d9 Merge branch '3.2.x' into 3.3.x
Closes gh-42735
2024-10-17 13:38:03 +02:00
Moritz Halbritter a3060652f8 Call String.toLowerCase and .toUppercase with explicit locale
Closes gh-42719
2024-10-17 13:20:39 +02:00
Moritz Halbritter d8dfe7c1d8 Merge branch '3.3.x'
Closes gh-42727
2024-10-17 10:33:31 +02:00
Moritz Halbritter b203780dcb Document that Tomcat's maxQueueCapacity need to be greater than 0
Closes gh-42726
2024-10-17 10:22:31 +02:00
Phillip Webb 5f84e78854 Add `@author` attribution
See gh-42472
2024-10-16 16:44:16 -07:00
Phillip Webb 06569af789 Polish 'Allow common messages to be specified for message sources'
See gh-42472
2024-10-16 16:42:07 -07:00
Misagh Moayyed 573ccc5007 Allow common messages to be specified for message sources
Extend message source configuration properties and auto-configuration to
support common messages.

See gh-42472
2024-10-16 16:33:42 -07:00
Phillip Webb 465e909974 Merge branch '3.3.x' 2024-10-16 13:09:09 -07:00
Phillip Webb 5732782043 Merge branch '3.2.x' into 3.3.x 2024-10-16 13:08:44 -07:00
Phillip Webb 41ae973d16 Update copyright year of changed files 2024-10-16 13:08:37 -07:00
Phillip Webb 0a6d3f312e Polish 2024-10-16 13:08:21 -07:00