IllegalArgumentException при использовании ReactiveCouchbaseRepository Ожидается найти реактивный адаптер для класса rxSingle, но не может

Я работаю над реактивным приложением, которое использует среду Springboot WebFlux и Couchbase DB. Spring предоставляет реализацию JPA для Couchbase, и мой интерфейс репозитория выглядит следующим образом.

@Repository
public interface ExampleRepository extends ReactiveCouchbaseRepository<Example, String> {

}

И таким образом я включаю реактивные репозитории Couchbase в файле конфигурации Spring (на основе Java)

@Configuration
@EnableReactiveCouchbaseRepositories(basePackages = { "com.examples.repository" })
public class CouchDatabaseConfig extends AbstractCouchbaseConfiguration {

Когда я пытаюсь извлечь данные из БД, вызывая метод findById() хранилища, я получаю следующее исключение.

java.lang.IllegalArgumentException: Expected to find reactive adapter for class rx.Single but couldn't!

1 ответ

Решение

Я потратил много времени, чтобы выяснить причину этого исключения, так как никакие другие результаты поиска Google не помогли мне. Я публикую здесь решение, надеясь, что оно будет полезным для таких, как я.

причина

Либо вы не включили зависимость для реактивных потоков, либо добавили несовместимую.

Добавление этой строки в мой build.gradle спасло мне жизнь.

compile('io.reactivex:rxjava-reactive-streams')
Другие вопросы по тегам