Я пытаюсь настроить функцию executeAsync(String s)
Cassandra Session
[Java Драйвер Datastax]. Я ожидал, что pool.submit
вернет ListenableFuture, которое я мог бы привести к ResultSetFuture
, но обнаружил, что он возвращает TrustedListenableFutureTask
, и я не могу разыграть его так, как мне нравится. Есть мысли?
public static ListeningExecutorService pool = MoreExecutors
.listeningDecorator(Executors.newFixedThreadPool(10));
public ResultSetFuture executeAsync(String s) {
final ListenableFuture<ResultSet> future = pool.submit(new Callable<ResultSet>() {
@Override
public ResultSet call() throws Exception {
//some custom code
}
});
return (ResultSetFuture) future;
}
PS: Мое требование: я хочу выполнить какой-то пользовательский код и вернуть ResultSet. Поскольку это asyn c, я хочу вернуть будущее и ожидать, что приложение получит ResultSet при вызове get()
в будущем.