Skip to content

Commit aa3c930

Browse files
committed
Adapt to deprecation of ReactiveDataAccessStrategy
ReactiveDataAccessStrategy has been deprecated in Spring Data R2BC in favor of R2dbcConverter (and StatementMapper and UpdateMapper). When not using Boot, an R2dbcConverter bean is now defined by AbstractR2dbcConfiguration. This commit updates R2dbcDataAutoConfiguration to replace the definition of a ReactiveDataAccessStrategy bean with the definition of an R2dbcConverter bean. See gh-23197
1 parent 8d27cac commit aa3c930

File tree

1 file changed

+10
-14
lines changed

1 file changed

+10
-14
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/r2dbc/R2dbcDataAutoConfiguration.java

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,9 @@
3131
import org.springframework.context.annotation.Configuration;
3232
import org.springframework.data.convert.CustomConversions;
3333
import org.springframework.data.r2dbc.convert.MappingR2dbcConverter;
34+
import org.springframework.data.r2dbc.convert.R2dbcConverter;
3435
import org.springframework.data.r2dbc.convert.R2dbcCustomConversions;
35-
import org.springframework.data.r2dbc.core.DefaultReactiveDataAccessStrategy;
3636
import org.springframework.data.r2dbc.core.R2dbcEntityTemplate;
37-
import org.springframework.data.r2dbc.core.ReactiveDataAccessStrategy;
3837
import org.springframework.data.r2dbc.dialect.DialectResolver;
3938
import org.springframework.data.r2dbc.dialect.R2dbcDialect;
4039
import org.springframework.data.r2dbc.mapping.R2dbcMappingContext;
@@ -56,14 +55,17 @@ public class R2dbcDataAutoConfiguration {
5655

5756
private final DatabaseClient databaseClient;
5857

58+
private final R2dbcDialect dialect;
59+
5960
public R2dbcDataAutoConfiguration(DatabaseClient databaseClient) {
6061
this.databaseClient = databaseClient;
62+
this.dialect = DialectResolver.getDialect(this.databaseClient.getConnectionFactory());
6163
}
6264

6365
@Bean
6466
@ConditionalOnMissingBean
65-
public R2dbcEntityTemplate r2dbcEntityTemplate(ReactiveDataAccessStrategy reactiveDataAccessStrategy) {
66-
return new R2dbcEntityTemplate(this.databaseClient, reactiveDataAccessStrategy);
67+
public R2dbcEntityTemplate r2dbcEntityTemplate(R2dbcConverter r2dbcConverter) {
68+
return new R2dbcEntityTemplate(this.databaseClient, this.dialect, r2dbcConverter);
6769
}
6870

6971
@Bean
@@ -78,25 +80,19 @@ public R2dbcMappingContext r2dbcMappingContext(ObjectProvider<NamingStrategy> na
7880

7981
@Bean
8082
@ConditionalOnMissingBean
81-
public ReactiveDataAccessStrategy reactiveDataAccessStrategy(R2dbcMappingContext mappingContext,
83+
public MappingR2dbcConverter r2dbcConverter(R2dbcMappingContext mappingContext,
8284
R2dbcCustomConversions r2dbcCustomConversions) {
83-
MappingR2dbcConverter converter = new MappingR2dbcConverter(mappingContext, r2dbcCustomConversions);
84-
return new DefaultReactiveDataAccessStrategy(getDialect(), converter);
85+
return new MappingR2dbcConverter(mappingContext, r2dbcCustomConversions);
8586
}
8687

8788
@Bean
8889
@ConditionalOnMissingBean
8990
public R2dbcCustomConversions r2dbcCustomConversions() {
90-
R2dbcDialect dialect = getDialect();
91-
List<Object> converters = new ArrayList<>(dialect.getConverters());
91+
List<Object> converters = new ArrayList<>(this.dialect.getConverters());
9292
converters.addAll(R2dbcCustomConversions.STORE_CONVERTERS);
9393
return new R2dbcCustomConversions(
94-
CustomConversions.StoreConversions.of(dialect.getSimpleTypeHolder(), converters),
94+
CustomConversions.StoreConversions.of(this.dialect.getSimpleTypeHolder(), converters),
9595
Collections.emptyList());
9696
}
9797

98-
private R2dbcDialect getDialect() {
99-
return DialectResolver.getDialect(this.databaseClient.getConnectionFactory());
100-
}
101-
10298
}

0 commit comments

Comments
 (0)