diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/config/Scope.java b/spring-beans/src/main/java/org/springframework/beans/factory/config/Scope.java index aa641f2c2ac..63fa1e2ce1e 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/config/Scope.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/config/Scope.java @@ -130,7 +130,9 @@ public interface Scope { * @return the corresponding object, or {@code null} if none found * @throws IllegalStateException if the underlying scope is not currently active */ - @Nullable Object resolveContextualObject(String key); + default @Nullable Object resolveContextualObject(String key) { + return null; + } /** * Return the conversation ID for the current underlying scope, if any. @@ -147,6 +149,8 @@ public interface Scope { * conversation ID for the current scope * @throws IllegalStateException if the underlying scope is not currently active */ - @Nullable String getConversationId(); + default @Nullable String getConversationId() { + return null; + } } diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/config/TestTypes.java b/spring-beans/src/test/java/org/springframework/beans/factory/config/TestTypes.java index 944238a9e34..2bff8c89a4e 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/config/TestTypes.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/config/TestTypes.java @@ -44,14 +44,4 @@ class NoOpScope implements Scope { public void registerDestructionCallback(String name, Runnable callback) { } - @Override - public Object resolveContextualObject(String key) { - return null; - } - - @Override - public String getConversationId() { - return null; - } - } diff --git a/spring-context/src/main/java/org/springframework/context/support/SimpleThreadScope.java b/spring-context/src/main/java/org/springframework/context/support/SimpleThreadScope.java index eac43c1da0a..245dcfaa25d 100644 --- a/spring-context/src/main/java/org/springframework/context/support/SimpleThreadScope.java +++ b/spring-context/src/main/java/org/springframework/context/support/SimpleThreadScope.java @@ -83,11 +83,6 @@ public class SimpleThreadScope implements Scope { "Consider using RequestScope in a web environment."); } - @Override - public @Nullable Object resolveContextualObject(String key) { - return null; - } - @Override public String getConversationId() { return Thread.currentThread().getName(); diff --git a/spring-context/src/test/java/org/springframework/context/annotation/configuration/ScopingTests.java b/spring-context/src/test/java/org/springframework/context/annotation/configuration/ScopingTests.java index 7f08bf2df2d..3084e7b1eb1 100644 --- a/spring-context/src/test/java/org/springframework/context/annotation/configuration/ScopingTests.java +++ b/spring-context/src/test/java/org/springframework/context/annotation/configuration/ScopingTests.java @@ -353,11 +353,6 @@ class ScopingTests { return beans.get(name); } - @Override - public String getConversationId() { - return null; - } - @Override public void registerDestructionCallback(String name, Runnable callback) { throw new IllegalStateException("Not supposed to be called"); @@ -368,10 +363,6 @@ class ScopingTests { return beans.remove(name); } - @Override - public Object resolveContextualObject(String key) { - return null; - } } } diff --git a/spring-context/src/test/java/org/springframework/context/annotation/configuration/Spr10744Tests.java b/spring-context/src/test/java/org/springframework/context/annotation/configuration/Spr10744Tests.java index 7590bfe0809..2f791699cd2 100644 --- a/spring-context/src/test/java/org/springframework/context/annotation/configuration/Spr10744Tests.java +++ b/spring-context/src/test/java/org/springframework/context/annotation/configuration/Spr10744Tests.java @@ -83,16 +83,6 @@ class Spr10744Tests { @Override public void registerDestructionCallback(String name, Runnable callback) { } - - @Override - public Object resolveContextualObject(String key) { - return null; - } - - @Override - public String getConversationId() { - return null; - } } diff --git a/spring-context/src/test/java/org/springframework/context/event/AnnotationDrivenEventListenerTests.java b/spring-context/src/test/java/org/springframework/context/event/AnnotationDrivenEventListenerTests.java index 08322749c59..44e6c7a8c4a 100644 --- a/spring-context/src/test/java/org/springframework/context/event/AnnotationDrivenEventListenerTests.java +++ b/spring-context/src/test/java/org/springframework/context/event/AnnotationDrivenEventListenerTests.java @@ -1090,16 +1090,6 @@ class AnnotationDrivenEventListenerTests { @Override public void registerDestructionCallback(String name, Runnable callback) { } - - @Override - public Object resolveContextualObject(String key) { - return null; - } - - @Override - public String getConversationId() { - return null; - } } diff --git a/spring-context/src/test/java/org/springframework/context/expression/ApplicationContextExpressionTests.java b/spring-context/src/test/java/org/springframework/context/expression/ApplicationContextExpressionTests.java index 0b87f3f2118..96c6933aa11 100644 --- a/spring-context/src/test/java/org/springframework/context/expression/ApplicationContextExpressionTests.java +++ b/spring-context/src/test/java/org/springframework/context/expression/ApplicationContextExpressionTests.java @@ -94,10 +94,6 @@ class ApplicationContextExpressionTests { return null; } } - @Override - public String getConversationId() { - return null; - } }); ac.getBeanFactory().setConversionService(new DefaultConversionService()); diff --git a/spring-context/src/test/java/org/springframework/context/groovy/GroovyBeanDefinitionReaderTests.java b/spring-context/src/test/java/org/springframework/context/groovy/GroovyBeanDefinitionReaderTests.java index b9b44ac032b..b39df33f99d 100644 --- a/spring-context/src/test/java/org/springframework/context/groovy/GroovyBeanDefinitionReaderTests.java +++ b/spring-context/src/test/java/org/springframework/context/groovy/GroovyBeanDefinitionReaderTests.java @@ -1214,21 +1214,11 @@ class TestScope implements Scope { public void registerDestructionCallback(String name, Runnable callback) { } - @Override - public String getConversationId() { - return null; - } - @Override public Object get(String name, ObjectFactory objectFactory) { instanceCount++; return objectFactory.getObject(); } - - @Override - public Object resolveContextualObject(String s) { - return null; - } } class BirthdayCardSender { diff --git a/spring-context/src/testFixtures/java/org/springframework/context/testfixture/SimpleMapScope.java b/spring-context/src/testFixtures/java/org/springframework/context/testfixture/SimpleMapScope.java index ceaac176616..065535b58bb 100644 --- a/spring-context/src/testFixtures/java/org/springframework/context/testfixture/SimpleMapScope.java +++ b/spring-context/src/testFixtures/java/org/springframework/context/testfixture/SimpleMapScope.java @@ -68,20 +68,10 @@ public class SimpleMapScope implements Scope, Serializable { this.callbacks.add(callback); } - @Override - public Object resolveContextualObject(String key) { - return null; - } - public void close() { for (Runnable runnable : this.callbacks) { runnable.run(); } } - @Override - public String getConversationId() { - return null; - } - } diff --git a/spring-messaging/src/main/java/org/springframework/messaging/simp/SimpSessionScope.java b/spring-messaging/src/main/java/org/springframework/messaging/simp/SimpSessionScope.java index a6e9163987c..925543d73ac 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/simp/SimpSessionScope.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/simp/SimpSessionScope.java @@ -70,11 +70,6 @@ public class SimpSessionScope implements Scope { SimpAttributesContextHolder.currentAttributes().registerDestructionCallback(name, callback); } - @Override - public @Nullable Object resolveContextualObject(String key) { - return null; - } - @Override public String getConversationId() { return SimpAttributesContextHolder.currentAttributes().getSessionId(); diff --git a/spring-tx/src/main/java/org/springframework/transaction/support/SimpleTransactionScope.java b/spring-tx/src/main/java/org/springframework/transaction/support/SimpleTransactionScope.java index 49c0d2b8a84..4119c84e779 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/support/SimpleTransactionScope.java +++ b/spring-tx/src/main/java/org/springframework/transaction/support/SimpleTransactionScope.java @@ -81,11 +81,6 @@ public class SimpleTransactionScope implements Scope { } } - @Override - public @Nullable Object resolveContextualObject(String key) { - return null; - } - @Override public @Nullable String getConversationId() { return TransactionSynchronizationManager.getCurrentTransactionName(); diff --git a/spring-web/src/main/java/org/springframework/web/context/request/RequestScope.java b/spring-web/src/main/java/org/springframework/web/context/request/RequestScope.java index 3ee24707d30..3a7db899145 100644 --- a/spring-web/src/main/java/org/springframework/web/context/request/RequestScope.java +++ b/spring-web/src/main/java/org/springframework/web/context/request/RequestScope.java @@ -16,8 +16,6 @@ package org.springframework.web.context.request; -import org.jspecify.annotations.Nullable; - /** * Request-backed {@link org.springframework.beans.factory.config.Scope} * implementation. @@ -44,13 +42,4 @@ public class RequestScope extends AbstractRequestAttributesScope { return RequestAttributes.SCOPE_REQUEST; } - /** - * There is no conversation id concept for a request, so this method - * returns {@code null}. - */ - @Override - public @Nullable String getConversationId() { - return null; - } - } diff --git a/spring-web/src/main/java/org/springframework/web/context/support/ServletContextScope.java b/spring-web/src/main/java/org/springframework/web/context/support/ServletContextScope.java index f5637bf4441..a4b744ef236 100644 --- a/spring-web/src/main/java/org/springframework/web/context/support/ServletContextScope.java +++ b/spring-web/src/main/java/org/springframework/web/context/support/ServletContextScope.java @@ -96,17 +96,6 @@ public class ServletContextScope implements Scope, DisposableBean { } } - @Override - public @Nullable Object resolveContextualObject(String key) { - return null; - } - - @Override - public @Nullable String getConversationId() { - return null; - } - - /** * Invoke all registered destruction callbacks. * To be called on ServletContext shutdown.