Spring Data Cassandra查询DSL RxJava2

时间:2018-02-06 16:53:26

标签: java spring rx-java2 querydsl spring-data-cassandra

所以我使用的是Spring Data Cassandra和RxJava,我正在寻找一种方法来使用RxJava Observable和自定义查询构建(在我的情况下,find..by抽象很复杂)我正计划使用QueryDSL (方法findAll(Predicate),但它不启用Async:/)

到目前为止,我最好的方法是使用AsyncCassandraTemplate构建一个Query并将其作为ListenableFuture返回,以便它可以映射到Observable并与RxJava的Observable一起使用。还有其他办法吗?

1 个答案:

答案 0 :(得分:0)

没有QueryDsl支持Apache Cassandra的Spring Data。您可以使用Query个对象来创建查询,并ReactiveCassandraTemplate用于反应式API使用:

Mono<Person> person = cassandraTemplate.selectOneById(query(where("age").is(33)), Person.class);
Maybe<Person> maybe = Flowable.fromPublisher(person).firstElement();