我正在使用Datastax Cassandra驱动程序4.3.0。当我想使用异步方法获取ResultSet时:
CompletableFuture<AsyncResultSet> asyncResultSetCompletableFuture =
statementFuture.thenApply(boundStatement ->
session.executeAsync(boundStatement).toCompletableFuture());
我收到此错误:
java:不兼容的类型:推断变量U具有不兼容的范围 等式约束:com.datastax.oss.driver.api.core.cql.AsyncResultSet 下限:java.util.concurrent.CompletableFuture
但是,如果我直接将其传递给下一个函数,该函数将得到AsyncResultSet
:
statementFuture.thenApply(statement -> session.executeAsync(statement).toCompletableFuture())
.thenApply(asyncResultSetCompletable ->
asyncResultSetCompletable.thenAccept(asyncResultSet ->
System.out.println("Remaining\t: " + asyncResultSet.remaining())));
成功了。
经过研究,我发现我将错误的类型传递给asyncResultSetCompletableFuture
。但是我找不到它。
问候。