Настройка драйвера Datastax Cassandra - Возвращение ResultSetFuture с ListeningExecutorService.submit - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь настроить функцию 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() в будущем.

...