Я пишу сервис на основе Spring webflux, который читает данные из PostgreSQL с использованием r2dbc. Мне нужно использовать последний выпуск r2dbc, однако я получаю исключение NoSuchMethodError при использовании библиотеки TransactionSynchronizationManager spring-tx 5.2.0.RELEASE.
Мне нужно знать, какая версия библиотеки Spring-tx является совместимой. с версией spring-data-r2dbc, которая корректно работает с последними библиотеками r2dbc-postgresql и r2dbc-spi.
Вот мои зависимости Maven.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-r2dbc</artifactId>
<version>1.0.0.M2</version>
</dependency>
<dependency>
<groupId>io.r2dbc</groupId>
<artifactId>r2dbc-postgresql</artifactId>
<version>0.8.0.RC2</version>
</dependency>
<dependency>
<groupId>io.r2dbc</groupId>
<artifactId>r2dbc-spi</artifactId>
<version>0.8.0.M8</version>
</dependency>
Я использую расширение интерфейса ReactiveCrudRepository
Интерфейс для извлечения данных из таблицы ниже.
@Query("...")
Flux<QuoteHistory> findAllBySecIdAndDateTimeBetweenAndUpdateTypeIn(LocalDate date, Long secId);
Мне удалось заставить этот код работать с более ранними версиями r2dbc-postgresql и r2dbc-spi, но теперь я получаю следующее исключение.
java.lang.NoSuchMethodError: org.springframework.transaction.reactive.TransactionSynchronizationManager.currentTransaction () Lreactor / core / publisher / Mono;в org.springframework.data.r2dbc.connectionfactory.ConnectionFactoryUtils.doGetConnection (ConnectionFactoryUtils.java:88) ~ [spring-data-r2dbc-1.0.0.M2.jar: 1.0.0.M2] в org.springframework.data. r2dbc.connectionfactory.ConnectionFactoryUtils.getConnection (ConnectionFactoryUtils.java:70) ~ [spring-data-r2dbc-1.0.0.M2.jar: 1.0.0.M2] в org.springframework.data.r2dbc.core.DefaultDatabaseClient.getConnection(DefaultDatabaseClient.java:189) ~ [spring-data-r2dbc-1.0.0.M2.jar: 1.0.0.M2]
Это зависимости r2dbc, с которыми работает код.
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-r2dbc</artifactId>
<version>1.0.0.M1</version>
</dependency>
<dependency>
<groupId>io.r2dbc</groupId>
<artifactId>r2dbc-postgresql</artifactId>
<version>1.0.0.M7</version>
</dependency>