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')