Skip to content

Commit bc8e525

Browse files
committed
Add shared instance of ReactiveAdapterRegistry
Issue: SPR-16218
1 parent 6f24c0d commit bc8e525

File tree

39 files changed

+74
-42
lines changed

39 files changed

+74
-42
lines changed

spring-core/src/main/java/org/springframework/core/Conventions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public abstract class Conventions {
5959
}
6060

6161
private static final ReactiveAdapterRegistry reactiveAdapterRegistry =
62-
new ReactiveAdapterRegistry();
62+
ReactiveAdapterRegistry.getSharedInstance();
6363

6464

6565
/**

spring-core/src/main/java/org/springframework/core/ReactiveAdapterRegistry.java

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@
3333
import org.springframework.util.ClassUtils;
3434
import org.springframework.util.ReflectionUtils;
3535

36-
import static org.springframework.core.ReactiveTypeDescriptor.*;
36+
import static org.springframework.core.ReactiveTypeDescriptor.multiValue;
37+
import static org.springframework.core.ReactiveTypeDescriptor.noValue;
38+
import static org.springframework.core.ReactiveTypeDescriptor.singleOptionalValue;
39+
import static org.springframework.core.ReactiveTypeDescriptor.singleRequiredValue;
3740

3841
/**
3942
* A registry of adapters to adapt a Reactive Streams {@link Publisher} to/from
@@ -50,6 +53,9 @@
5053
*/
5154
public class ReactiveAdapterRegistry {
5255

56+
@Nullable
57+
private static volatile ReactiveAdapterRegistry sharedInstance;
58+
5359
private final boolean reactorPresent;
5460

5561
private final List<ReactiveAdapter> adapters = new ArrayList<>(32);
@@ -98,6 +104,31 @@ public ReactiveAdapterRegistry() {
98104
}
99105

100106

107+
/**
108+
* Return a shared default {@code ReactiveAdapterRegistry} instance, lazily
109+
* building it once needed.
110+
* <p><b>NOTE:</b> We highly recommend passing a long-lived, pre-configured
111+
* {@code ReactiveAdapterRegistry} instance for customization purposes.
112+
* This accessor is only meant as a fallback for code paths that want to
113+
* fall back on a default instance if one isn't provided.
114+
* @return the shared {@code ReactiveAdapterRegistry} instance (never {@code null})
115+
* @since 5.0.2
116+
*/
117+
public static ReactiveAdapterRegistry getSharedInstance() {
118+
ReactiveAdapterRegistry ar = sharedInstance;
119+
if (ar == null) {
120+
synchronized (ReactiveAdapterRegistry.class) {
121+
ar = sharedInstance;
122+
if (ar == null) {
123+
ar = new ReactiveAdapterRegistry();
124+
sharedInstance = ar;
125+
}
126+
}
127+
}
128+
return ar;
129+
}
130+
131+
101132
/**
102133
* Whether the registry has any adapters which would be the case if any of
103134
* Reactor, RxJava 2, or RxJava 1 (+ RxJava Reactive Streams bridge) are

spring-core/src/test/java/org/springframework/core/convert/support/ReactiveAdapterRegistryTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
@SuppressWarnings("unchecked")
5151
public class ReactiveAdapterRegistryTests {
5252

53-
private final ReactiveAdapterRegistry registry = new ReactiveAdapterRegistry();
53+
private final ReactiveAdapterRegistry registry = ReactiveAdapterRegistry.getSharedInstance();
5454

5555

5656
@Test

spring-webflux/src/main/java/org/springframework/web/reactive/result/method/InvocableHandlerMethod.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public class InvocableHandlerMethod extends HandlerMethod {
6666

6767
private ParameterNameDiscoverer parameterNameDiscoverer = new DefaultParameterNameDiscoverer();
6868

69-
private ReactiveAdapterRegistry reactiveAdapterRegistry = new ReactiveAdapterRegistry();
69+
private ReactiveAdapterRegistry reactiveAdapterRegistry = ReactiveAdapterRegistry.getSharedInstance();
7070

7171

7272
public InvocableHandlerMethod(HandlerMethod handlerMethod) {

spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageReaderArgumentResolver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public abstract class AbstractMessageReaderArgumentResolver extends HandlerMetho
8181
* @param readers readers to convert from the request body
8282
*/
8383
protected AbstractMessageReaderArgumentResolver(List<HttpMessageReader<?>> readers) {
84-
this(readers, new ReactiveAdapterRegistry());
84+
this(readers, ReactiveAdapterRegistry.getSharedInstance());
8585
}
8686

8787
/**

spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageWriterResultHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public abstract class AbstractMessageWriterResultHandler extends HandlerResultHa
6060
protected AbstractMessageWriterResultHandler(List<HttpMessageWriter<?>> messageWriters,
6161
RequestedContentTypeResolver contentTypeResolver) {
6262

63-
this(messageWriters, contentTypeResolver, new ReactiveAdapterRegistry());
63+
this(messageWriters, contentTypeResolver, ReactiveAdapterRegistry.getSharedInstance());
6464
}
6565

6666
/**

spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public void afterPropertiesSet() throws Exception {
163163
this.argumentResolverConfigurer = new ArgumentResolverConfigurer();
164164
}
165165
if (this.reactiveAdapterRegistry == null) {
166-
this.reactiveAdapterRegistry = new ReactiveAdapterRegistry();
166+
this.reactiveAdapterRegistry = ReactiveAdapterRegistry.getSharedInstance();
167167
}
168168

169169
this.methodResolver = new ControllerMethodResolver(this.argumentResolverConfigurer,

spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public class ResponseBodyResultHandler extends AbstractMessageWriterResultHandle
5656
public ResponseBodyResultHandler(List<HttpMessageWriter<?>> writers,
5757
RequestedContentTypeResolver resolver) {
5858

59-
this(writers, resolver, new ReactiveAdapterRegistry());
59+
this(writers, resolver, ReactiveAdapterRegistry.getSharedInstance());
6060
}
6161

6262
/**

spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public class ResponseEntityResultHandler extends AbstractMessageWriterResultHand
6363
public ResponseEntityResultHandler(List<HttpMessageWriter<?>> writers,
6464
RequestedContentTypeResolver resolver) {
6565

66-
this(writers, resolver, new ReactiveAdapterRegistry());
66+
this(writers, resolver, ReactiveAdapterRegistry.getSharedInstance());
6767
}
6868

6969
/**

spring-webflux/src/main/java/org/springframework/web/reactive/result/view/AbstractView.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public abstract class AbstractView implements View, ApplicationContextAware {
7070

7171

7272
public AbstractView() {
73-
this(new ReactiveAdapterRegistry());
73+
this(ReactiveAdapterRegistry.getSharedInstance());
7474
}
7575

7676
public AbstractView(ReactiveAdapterRegistry registry) {

spring-webflux/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public class ViewResolutionResultHandler extends HandlerResultHandlerSupport
101101
public ViewResolutionResultHandler(List<ViewResolver> viewResolvers,
102102
RequestedContentTypeResolver contentTypeResolver) {
103103

104-
this(viewResolvers, contentTypeResolver, new ReactiveAdapterRegistry());
104+
this(viewResolvers, contentTypeResolver, ReactiveAdapterRegistry.getSharedInstance());
105105
}
106106

107107
/**

spring-webflux/src/test/java/org/springframework/web/reactive/result/HandlerResultHandlerTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ protected TestResultHandler() {
110110
}
111111

112112
public TestResultHandler(RequestedContentTypeResolver contentTypeResolver) {
113-
super(contentTypeResolver, new ReactiveAdapterRegistry());
113+
super(contentTypeResolver, ReactiveAdapterRegistry.getSharedInstance());
114114
}
115115
}
116116

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ControllerMethodResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public void setUp() throws Exception {
7676
applicationContext.refresh();
7777

7878
this.methodResolver = new ControllerMethodResolver(
79-
resolvers, codecs.getReaders(), new ReactiveAdapterRegistry(), applicationContext);
79+
resolvers, codecs.getReaders(), ReactiveAdapterRegistry.getSharedInstance(), applicationContext);
8080

8181
Method method = ResolvableMethod.on(TestController.class).mockCall(TestController::handle).method();
8282
this.handlerMethod = new HandlerMethod(new TestController(), method);

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/CookieValueMethodArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public void setup() throws Exception {
6262
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
6363
context.refresh();
6464

65-
ReactiveAdapterRegistry adapterRegistry = new ReactiveAdapterRegistry();
65+
ReactiveAdapterRegistry adapterRegistry = ReactiveAdapterRegistry.getSharedInstance();
6666
this.resolver = new CookieValueMethodArgumentResolver(context.getBeanFactory(), adapterRegistry);
6767
this.bindingContext = new BindingContext();
6868

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ErrorsMethodArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
public class ErrorsMethodArgumentResolverTests {
4848

4949
private final ErrorsMethodArgumentResolver resolver =
50-
new ErrorsMethodArgumentResolver(new ReactiveAdapterRegistry());
50+
new ErrorsMethodArgumentResolver(ReactiveAdapterRegistry.getSharedInstance());
5151

5252
private final BindingContext bindingContext = new BindingContext();
5353

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ExpressionValueMethodArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public class ExpressionValueMethodArgumentResolverTests {
5656
public void setup() throws Exception {
5757
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
5858
context.refresh();
59-
ReactiveAdapterRegistry adapterRegistry = new ReactiveAdapterRegistry();
59+
ReactiveAdapterRegistry adapterRegistry = ReactiveAdapterRegistry.getSharedInstance();
6060
this.resolver = new ExpressionValueMethodArgumentResolver(context.getBeanFactory(), adapterRegistry);
6161

6262
Method method = ReflectionUtils.findMethod(getClass(), "params", (Class<?>[]) null);

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public class HttpEntityArgumentResolverTests {
7575
private HttpEntityArgumentResolver createResolver() {
7676
List<HttpMessageReader<?>> readers = new ArrayList<>();
7777
readers.add(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes(true)));
78-
return new HttpEntityArgumentResolver(readers, new ReactiveAdapterRegistry());
78+
return new HttpEntityArgumentResolver(readers, ReactiveAdapterRegistry.getSharedInstance());
7979
}
8080

8181

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/InitBinderBindingContextTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public void returnValueNotExpected() throws Exception {
114114
public void createBinderTypeConversion() throws Exception {
115115
MockServerHttpRequest request = MockServerHttpRequest.get("/path?requestParam=22").build();
116116
MockServerWebExchange exchange = MockServerWebExchange.from(request);
117-
ReactiveAdapterRegistry adapterRegistry = new ReactiveAdapterRegistry();
117+
ReactiveAdapterRegistry adapterRegistry = ReactiveAdapterRegistry.getSharedInstance();
118118
this.argumentResolvers.add(new RequestParamMethodArgumentResolver(null, adapterRegistry, false));
119119

120120
BindingContext context = createBindingContext("initBinderTypeConversion", WebDataBinder.class, int.class);

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MatrixVariablesMapMethodArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
public class MatrixVariablesMapMethodArgumentResolverTests {
4949

5050
private final MatrixVariableMapMethodArgumentResolver resolver =
51-
new MatrixVariableMapMethodArgumentResolver(new ReactiveAdapterRegistry());
51+
new MatrixVariableMapMethodArgumentResolver(ReactiveAdapterRegistry.getSharedInstance());
5252

5353
private final MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/"));
5454

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MatrixVariablesMethodArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
public class MatrixVariablesMethodArgumentResolverTests {
5050

5151
private MatrixVariableMethodArgumentResolver resolver =
52-
new MatrixVariableMethodArgumentResolver(null, new ReactiveAdapterRegistry());
52+
new MatrixVariableMethodArgumentResolver(null, ReactiveAdapterRegistry.getSharedInstance());
5353

5454
private final MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/"));
5555

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ModelArgumentResolverTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@
4040
*/
4141
public class ModelArgumentResolverTests {
4242

43-
private final ModelArgumentResolver resolver = new ModelArgumentResolver(new ReactiveAdapterRegistry());
43+
private final ModelArgumentResolver resolver =
44+
new ModelArgumentResolver(ReactiveAdapterRegistry.getSharedInstance());
4445

4546
private final ServerWebExchange exchange = MockServerWebExchange.from(get("/"));
4647

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ModelAttributeMethodArgumentResolverTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public void setup() throws Exception {
7575
@Test
7676
public void supports() throws Exception {
7777
ModelAttributeMethodArgumentResolver resolver =
78-
new ModelAttributeMethodArgumentResolver(new ReactiveAdapterRegistry(), false);
78+
new ModelAttributeMethodArgumentResolver(ReactiveAdapterRegistry.getSharedInstance(), false);
7979

8080
MethodParameter param = this.testMethod.annotPresent(ModelAttribute.class).arg(Foo.class);
8181
assertTrue(resolver.supportsParameter(param));
@@ -93,7 +93,7 @@ public void supports() throws Exception {
9393
@Test
9494
public void supportsWithDefaultResolution() throws Exception {
9595
ModelAttributeMethodArgumentResolver resolver =
96-
new ModelAttributeMethodArgumentResolver(new ReactiveAdapterRegistry(), true);
96+
new ModelAttributeMethodArgumentResolver(ReactiveAdapterRegistry.getSharedInstance(), true);
9797

9898
MethodParameter param = this.testMethod.annotNotPresent(ModelAttribute.class).arg(Foo.class);
9999
assertTrue(resolver.supportsParameter(param));
@@ -306,7 +306,7 @@ private void testBindBar(MethodParameter param) throws Exception {
306306

307307

308308
private ModelAttributeMethodArgumentResolver createResolver() {
309-
return new ModelAttributeMethodArgumentResolver(new ReactiveAdapterRegistry(), false);
309+
return new ModelAttributeMethodArgumentResolver(ReactiveAdapterRegistry.getSharedInstance(), false);
310310
}
311311

312312
private ServerWebExchange postForm(String formData) throws URISyntaxException {

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ModelInitializerTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public class ModelInitializerTests {
7373
@Before
7474
public void setUp() throws Exception {
7575

76-
ReactiveAdapterRegistry adapterRegistry = new ReactiveAdapterRegistry();
76+
ReactiveAdapterRegistry adapterRegistry = ReactiveAdapterRegistry.getSharedInstance();
7777

7878
ArgumentResolverConfigurer resolverConfigurer = new ArgumentResolverConfigurer();
7979
resolverConfigurer.addCustomResolver(new ModelArgumentResolver(adapterRegistry));

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMapMethodArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public class PathVariableMapMethodArgumentResolverTests {
5858

5959
@Before
6060
public void setup() throws Exception {
61-
this.resolver = new PathVariableMapMethodArgumentResolver(new ReactiveAdapterRegistry());
61+
this.resolver = new PathVariableMapMethodArgumentResolver(ReactiveAdapterRegistry.getSharedInstance());
6262

6363
Method method = ReflectionUtils.findMethod(getClass(), "handle", (Class<?>[]) null);
6464
this.paramMap = new MethodParameter(method, 0);

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMethodArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public class PathVariableMethodArgumentResolverTests {
6565

6666
@Before
6767
public void setup() throws Exception {
68-
this.resolver = new PathVariableMethodArgumentResolver(null, new ReactiveAdapterRegistry());
68+
this.resolver = new PathVariableMethodArgumentResolver(null, ReactiveAdapterRegistry.getSharedInstance());
6969

7070
Method method = ReflectionUtils.findMethod(getClass(), "handle", (Class<?>[]) null);
7171
paramNamedString = new SynthesizingMethodParameter(method, 0);

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/PrincipalArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
public class PrincipalArgumentResolverTests {
4040

4141
private final PrincipalArgumentResolver resolver =
42-
new PrincipalArgumentResolver(new ReactiveAdapterRegistry());
42+
new PrincipalArgumentResolver(ReactiveAdapterRegistry.getSharedInstance());
4343

4444
private ResolvableMethod testMethod = ResolvableMethod.on(getClass()).named("handle").build();
4545

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestAttributeMethodArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public class RequestAttributeMethodArgumentResolverTests {
6464
public void setup() throws Exception {
6565
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
6666
context.refresh();
67-
ReactiveAdapterRegistry registry = new ReactiveAdapterRegistry();
67+
ReactiveAdapterRegistry registry = ReactiveAdapterRegistry.getSharedInstance();
6868
this.resolver = new RequestAttributeMethodArgumentResolver(context.getBeanFactory(), registry);
6969
}
7070

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public class RequestBodyArgumentResolverTests {
7070
public void setup() {
7171
List<HttpMessageReader<?>> readers = new ArrayList<>();
7272
readers.add(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes(true)));
73-
this.resolver = new RequestBodyArgumentResolver(readers, new ReactiveAdapterRegistry());
73+
this.resolver = new RequestBodyArgumentResolver(readers, ReactiveAdapterRegistry.getSharedInstance());
7474
}
7575

7676

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMapMethodArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public class RequestHeaderMapMethodArgumentResolverTests {
5858

5959
@Before
6060
public void setup() throws Exception {
61-
resolver = new RequestHeaderMapMethodArgumentResolver(new ReactiveAdapterRegistry());
61+
resolver = new RequestHeaderMapMethodArgumentResolver(ReactiveAdapterRegistry.getSharedInstance());
6262

6363
Method method = ReflectionUtils.findMethod(getClass(), "params", (Class<?>[]) null);
6464
paramMap = new SynthesizingMethodParameter(method, 0);

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMethodArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public class RequestHeaderMethodArgumentResolverTests {
7373
public void setup() throws Exception {
7474
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
7575
context.refresh();
76-
ReactiveAdapterRegistry adapterRegistry = new ReactiveAdapterRegistry();
76+
ReactiveAdapterRegistry adapterRegistry = ReactiveAdapterRegistry.getSharedInstance();
7777
this.resolver = new RequestHeaderMethodArgumentResolver(context.getBeanFactory(), adapterRegistry);
7878

7979
ConfigurableWebBindingInitializer initializer = new ConfigurableWebBindingInitializer();

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMapMethodArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
public class RequestParamMapMethodArgumentResolverTests {
4747

4848
private final RequestParamMapMethodArgumentResolver resolver =
49-
new RequestParamMapMethodArgumentResolver(new ReactiveAdapterRegistry());
49+
new RequestParamMapMethodArgumentResolver(ReactiveAdapterRegistry.getSharedInstance());
5050

5151
private ResolvableMethod testMethod = ResolvableMethod.on(getClass()).named("handle").build();
5252

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public class RequestParamMethodArgumentResolverTests {
6363
@Before
6464
public void setup() throws Exception {
6565

66-
ReactiveAdapterRegistry adapterRegistry = new ReactiveAdapterRegistry();
66+
ReactiveAdapterRegistry adapterRegistry = ReactiveAdapterRegistry.getSharedInstance();
6767
this.resolver = new RequestParamMethodArgumentResolver(null, adapterRegistry, true);
6868

6969
ConfigurableWebBindingInitializer initializer = new ConfigurableWebBindingInitializer();
@@ -100,7 +100,7 @@ public void supportsParameter() {
100100

101101
@Test
102102
public void doesNotSupportParameterWithDefaultResolutionTurnedOff() {
103-
ReactiveAdapterRegistry adapterRegistry = new ReactiveAdapterRegistry();
103+
ReactiveAdapterRegistry adapterRegistry = ReactiveAdapterRegistry.getSharedInstance();
104104
this.resolver = new RequestParamMethodArgumentResolver(null, adapterRegistry, false);
105105

106106
MethodParameter param = this.testMethod.annotNotPresent(RequestParam.class).arg(String.class);

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ServerWebExchangeArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
public class ServerWebExchangeArgumentResolverTests {
5151

5252
private final ServerWebExchangeArgumentResolver resolver =
53-
new ServerWebExchangeArgumentResolver(new ReactiveAdapterRegistry());
53+
new ServerWebExchangeArgumentResolver(ReactiveAdapterRegistry.getSharedInstance());
5454

5555
private final MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/path"));
5656

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/SessionAttributeMethodArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public class SessionAttributeMethodArgumentResolverTests {
7575
public void setup() throws Exception {
7676
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
7777
context.refresh();
78-
ReactiveAdapterRegistry adapterRegistry = new ReactiveAdapterRegistry();
78+
ReactiveAdapterRegistry adapterRegistry = ReactiveAdapterRegistry.getSharedInstance();
7979
this.resolver = new SessionAttributeMethodArgumentResolver(context.getBeanFactory(), adapterRegistry);
8080

8181
this.session = mock(WebSession.class);

spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/WebSessionArgumentResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
public class WebSessionArgumentResolverTests {
4545

4646
private final WebSessionArgumentResolver resolver =
47-
new WebSessionArgumentResolver(new ReactiveAdapterRegistry());
47+
new WebSessionArgumentResolver(ReactiveAdapterRegistry.getSharedInstance());
4848

4949
private ResolvableMethod testMethod = ResolvableMethod.on(getClass()).named("handle").build();
5050

spring-webflux/src/test/kotlin/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverKotlinTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class RequestParamMethodArgumentResolverKotlinTests {
4949

5050
@Before
5151
fun setup() {
52-
this.resolver = RequestParamMethodArgumentResolver(null, ReactiveAdapterRegistry(), true)
52+
this.resolver = RequestParamMethodArgumentResolver(null, ReactiveAdapterRegistry.getSharedInstance(), true)
5353
val initializer = ConfigurableWebBindingInitializer()
5454
initializer.conversionService = DefaultFormattingConversionService()
5555
bindingContext = BindingContext(initializer)

0 commit comments

Comments
 (0)