Juergen Hoeller
56b082dec7
Merge branch '6.2.x'
2025-10-01 19:58:49 +02:00
Juergen Hoeller
e3da26ebbd
Clarify event parameter type for multiple mapped classes
...
Closes gh-35506
2025-10-01 19:55:42 +02:00
Sébastien Deleuze
1e3f8651b8
Refine SingletonSupplier<T> static methods nullability
...
SingletonSupplier<T> supplier-based static methods nullability should
be refined to accept in a flexible way nullable or non-nullable T.
Closes gh-35559
2025-10-01 11:38:33 +02:00
Stéphane Nicoll
741107969a
Always invoke ConfigurationBeanNameGenerator
...
Previously, if a ConfigurationBeanNameGenerator is used to parse
configuration classes, it is not invoked for `Bean` methods that provide
a specific bean name. This doesn't give a chance to an implementation to
tune such a bean, if required.
This commit updates the signature of ConfigurationBeanNameGenerator to
provide the identified bean name on the `@Bean` declaration,if any, and
to always invoke it.
Closes gh-35505
2025-10-01 10:34:38 +02:00
Sam Brannen
34be8e266d
Revise nullability for Core Retry after upgrade to NullAway 0.12.10
...
This commit revises the nullability declarations in Retryable,
RetryOperations, and RetryTemplate after the upgrade to NullAway 0.12.10.
See gh-35492
2025-09-25 11:38:33 +02:00
Sam Brannen
051adf267f
Introduce MapAccessor in SpEL and deprecate existing implementation
...
Prior to this commit, the MapAccessor for SpEL resided in the
org.springframework.context.expression package in the spring-context
module; however, it arguably should reside in the spring-expression
module so that it can be used whenever SpEL is used (without requiring
spring-context).
This commit therefore officially deprecates the MapAccessor in
spring-context for removal in favor of a new copy of the implementation
in the org.springframework.expression.spel.support package in the
spring-expression module.
Closes gh-35537
2025-09-24 16:52:27 +02:00
Sam Brannen
27b2243b43
Test status quo for canRead() and read() in SpEL MapAccessor
...
See gh-35534
2025-09-24 16:06:37 +02:00
Sébastien Deleuze
7635ac38f6
Use uppercase for classpath-related static final field names
...
Closes gh-35525
2025-09-22 18:32:14 +02:00
Sam Brannen
5ac3c40689
Prevent empty declaration of @ConcurrencyLimit
...
As a follow-up to gh-35461 and a comment left on the Spring Blog, we
have decided to prevent empty declarations of @ConcurrencyLimit,
thereby requiring users to explicitly declare the value for the limit.
Closes gh-35523
2025-09-22 18:18:53 +02:00
Sam Brannen
73ad1ebffb
Introduce @ConcurrencyLimit(limit) and revise contribution
...
This commit introduces a new `limit` attribute in @ConcurrencyLimit as
an alias for the existing `value` attribute. This commit also renames
the `valueString` attribute to `limitString`.
See gh-35461
See gh-35470
2025-09-22 16:09:58 +02:00
Hyunsang Han
91f112a918
Add placeholder resolution support for @ConcurrencyLimit
...
See gh-35461
Closes gh-35470
Signed-off-by: Hyunsang Han <gustkd3@gmail.com>
2025-09-22 15:19:07 +02:00
Brian Clozel
33897bb398
Merge branch '6.2.x'
2025-09-19 18:09:06 +02:00
Brian Clozel
d85a020e4e
Improve Task Javadoc about Runnable wrapping
...
Closes gh-35394
2025-09-19 18:05:02 +02:00
Sam Brannen
01c8f04d98
Improve Javadoc for ConfigurableApplicationContext
2025-09-18 18:31:29 +02:00
Sam Brannen
cb485b666f
Polishing
2025-09-18 18:31:29 +02:00
Sam Brannen
dbb9bf939c
Revise contribution
...
See gh-35491
2025-09-18 18:00:11 +02:00
Byeong-Uk Park
fe04bfcadb
Document placeholder and pattern support for @ComponentScan
...
- JavaDoc: clarify that basePackages/value resolve ${…} via Environment
and accept Ant-style package patterns (e.g., com.example.**); note
patterns don’t apply to basePackageClasses.
- Reference: add “Property placeholders and Ant-style patterns”
subsection in classpath-scanning.adoc with Java/Kotlin + properties
examples.
See gh-35288
Closes gh-35491
Signed-off-by: Byeong-Uk Park <114344042+Rockernun@users.noreply.github.com>
2025-09-18 18:00:11 +02:00
Sam Brannen
6dc5bf7634
Clean up warnings related to deprecated HttpStatus values, etc.
2025-09-02 12:50:57 +02:00
Juergen Hoeller
56269d76e5
Merge branch '6.2.x'
2025-08-22 22:02:24 +02:00
Juergen Hoeller
55181fa1c9
Polishing
2025-08-22 22:00:52 +02:00
Juergen Hoeller
8f4107953d
Perform retryable proceed() call on invocableClone()
...
Closes gh-35353
2025-08-21 17:38:07 +02:00
Juergen Hoeller
2489cced0f
Expose RetryException#getRetryCount() and accept maxAttempts(0)
...
Closes gh-35351
Closes gh-35362
2025-08-20 23:15:40 +02:00
Stéphane Nicoll
532911eb93
Mark RetryException#getCause non null
...
This commit simplifies RetryException to always require a root cause
and mark it as not nullable. Such exception is the exception thrown by
the retryable operation and should always be available as it explains
why the invocation was a candidate for retrying in the first place.
Closes gh-35332
2025-08-16 09:20:02 +02:00
Juergen Hoeller
573c5d96b9
Merge branch '6.2.x'
...
# Conflicts:
# spring-aop/src/main/java/org/springframework/aop/framework/AbstractAdvisingBeanPostProcessor.java
2025-08-06 19:03:14 +02:00
Juergen Hoeller
5df9fd4eff
Polishing (aligned with main)
2025-08-06 19:01:18 +02:00
Juergen Hoeller
d5408c047d
Introduce @Proxyable annotation for bean-specific proxy type
...
Closes gh-35296
See gh-35293
2025-08-06 18:32:01 +02:00
Juergen Hoeller
df86a9973d
Introduce @Proxyable annotation for bean-specific proxy type
...
Closes gh-35296
See gh-35293
2025-08-06 18:26:40 +02:00
Juergen Hoeller
9edb96ae57
Introduce default ProxyConfig bean and exposed interfaces attribute
...
Taken into account by all proxy processors, this enables consistent proxy type defaulting in Spring Boot as well as consistent opting out for specific bean definitions.
Closes gh-35286
Closes gh-35293
2025-08-06 14:51:13 +02:00
Juergen Hoeller
4ad9396b15
Update CountDownLatch for non-pauseable beans
...
See gh-35269
2025-08-04 15:27:56 +02:00
Sam Brannen
e590341ca7
Revise Javadoc regarding new ApplicationContext pause() support
...
See gh-35269
2025-08-04 11:50:47 +03:00
Juergen Hoeller
4bfc129f84
Merge branch '6.2.x'
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Has been cancelled
Details
Deploy Docs / Dispatch docs deployment (push) Has been cancelled
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:ubuntu-latest name:Linux]) (push) Has been cancelled
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:ubuntu-latest name:Linux]) (push) Has been cancelled
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:ubuntu-latest name:Linux]) (push) Has been cancelled
Details
Update Antora UI Spring / Update on Supported Branches (6.1.x) (push) Has been cancelled
Details
Update Antora UI Spring / Update on docs-build (push) Has been cancelled
Details
Build and Deploy Snapshot / Verify (push) Has been cancelled
Details
2025-08-01 21:17:54 +02:00
Juergen Hoeller
67e88f3c20
Align task execution tracking and thread interruption on shutdown
...
Closes gh-35254
2025-08-01 21:15:25 +02:00
Juergen Hoeller
149d468ce4
Introduce ConfigurableApplicationContext.pause() and SmartLifecycle.isPauseable()
...
Closes gh-35269
2025-08-01 15:08:15 +02:00
Sébastien Deleuze
ed2cad3af0
Merge branch '6.2.x'
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Has been cancelled
Details
Deploy Docs / Dispatch docs deployment (push) Has been cancelled
Details
Build and Deploy Snapshot / Verify (push) Has been cancelled
Details
2025-07-23 16:30:12 +02:00
Sébastien Deleuze
5e338ef1b8
Make MessageSource locale parameter nullable
...
Backport Bot / build (push) Has been cancelled
Details
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Has been cancelled
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:ubuntu-latest name:Linux]) (push) Has been cancelled
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:ubuntu-latest name:Linux]) (push) Has been cancelled
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:ubuntu-latest name:Linux]) (push) Has been cancelled
Details
Deploy Docs / Dispatch docs deployment (push) Has been cancelled
Details
Build and Deploy Snapshot / Verify (push) Has been cancelled
Details
Closes gh-35230
2025-07-23 16:02:38 +02:00
Sébastien Deleuze
20a1261574
Make rootObject parameter consistently nullable
...
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
MethodBasedEvaluationContext and CacheEvaluationContext should allow a
nullable rootObject constructor parameter like
StandardEvaluationContext does.
Closes gh-35206
2025-07-15 17:49:30 +02:00
Sam Brannen
5c6622fd77
Introduce ApplicationContextEvent.getSource() with covariant return type
...
Prior to this commit, ApplicationContextEvent inherited getSource()
from java.util.EventObject.getSource() which has an Object return type.
This commit introduces a local getSource() implementation in
ApplicationContextEvent with an ApplicationContext covariant return
type, analogous to TestContextEvent in spring-test.
Closes gh-35197
2025-07-14 14:13:13 +02:00
Juergen Hoeller
096670f31d
Merge branch '6.2.x'
...
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
# Conflicts:
# framework-platform/framework-platform.gradle
# spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassBeanDefinitionReader.java
2025-07-13 16:36:02 +02:00
Juergen Hoeller
2434bb1540
Polishing
2025-07-13 16:33:37 +02:00
Juergen Hoeller
1145054971
Introduce ConfigurationBeanNameGenerator for @Bean-annotated methods
...
Includes FullyQualifiedConfigurationBeanNameGenerator implementation.
Closes gh-33448
2025-07-13 16:08:05 +02:00
Sam Brannen
ff1e5a87b3
Introduce ContextRestartedEvent as a subtype of ContextStartedEvent
...
Prior to this commit, there was no way to differentiate between an
ApplicationContext "start" and "restart" in terms of events. This was
due to the fact that a ContextStartedEvent was fired for both
AbstractApplicationContext.start() and
AbstractApplicationContext.restart().
To assist developers who may wish to differentiate between "start" and
"restart" events, this commit introduces a new ContextRestartedEvent as
a subtype of ContextStartedEvent. In addition,
AbstractApplicationContext.restart() now publishes a
ContextRestartedEvent instead of a ContextStartedEvent.
By making ContextRestartedEvent a subtype of ContextStartedEvent,
applications can still expect ContextStoppedEvent/ContextStartedEvent
event pairs for consistent lifecycle semantics, and they can optionally
check if the ContextStartedEvent is a ContextRestartedEvent.
Alternatively, applications can explicitly react to a
ContextRestartedEvent.
See gh-35168
See gh-35171
Closes gh-35194
2025-07-12 18:14:05 +02:00
Juergen Hoeller
64de254b58
Merge branch '6.2.x'
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
2025-07-11 22:50:47 +02:00
Juergen Hoeller
4277682a5c
Catch InaccessibleObjectException next to IllegalAccessException
...
Backport Bot / build (push) Waiting to run
Details
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
Closes gh-35190
2025-07-11 22:44:11 +02:00
Juergen Hoeller
4ca8a8abbe
Merge branch '6.2.x'
...
# Conflicts:
# framework-docs/modules/ROOT/pages/core/null-safety.adoc
# framework-docs/modules/ROOT/pages/core/validation/error-code-resolution.adoc
# framework-docs/modules/ROOT/pages/integration/cds.adoc
# framework-docs/modules/ROOT/pages/integration/jms/sending.adoc
# framework-docs/modules/ROOT/pages/integration/rest-clients.adoc
# framework-docs/modules/ROOT/pages/languages/kotlin/bean-definition-dsl.adoc
# framework-docs/modules/ROOT/pages/languages/kotlin/null-safety.adoc
# framework-docs/modules/ROOT/pages/languages/kotlin/web.adoc
# framework-docs/modules/ROOT/pages/web/webflux/config.adoc
# framework-docs/modules/ROOT/pages/web/webflux/controller/ann-requestmapping.adoc
# framework-docs/modules/ROOT/pages/web/webmvc/mvc-http2.adoc
2025-07-10 19:42:14 +02:00
Juergen Hoeller
25b4e29f5e
Polishing
Backport Bot / build (push) Waiting to run
Details
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
2025-07-10 19:33:51 +02:00
Juergen Hoeller
523552ac2e
Introduce ConfigurableApplicationContext.restart() method
...
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
Closes gh-35171
2025-07-08 18:50:05 +02:00
Juergen Hoeller
a2d495de9f
Merge branch '6.2.x'
...
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
# Conflicts:
# framework-platform/framework-platform.gradle
# spring-aop/src/main/java/org/springframework/aop/aspectj/AbstractAspectJAdvice.java
2025-07-07 14:40:50 +02:00
Juergen Hoeller
3bd96f72a6
Leniently tolerate null bean as aspect instance
...
Closes gh-35074
2025-07-07 14:26:19 +02:00
Yanming Zhou
410a9ce108
Mark applicable Scope's methods as default
...
Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2025-07-07 13:37:47 +02:00
Sam Brannen
14767d64b5
Merge branch '6.2.x'
2025-07-07 12:36:14 +02:00