completable-future

    1热度

    1回答

    我是新来玩框架和Java8。我正在尝试在Play中编写一个简单的Web服务,它符合Asynch模型,并允许Web服务调用快速返回,为异步线程留下沉重的负担。 我有一个非常基本的操作 public CompletionStage<Result> getPeople() { } 在调用真正的处理必须从数据库中加载的人的数据。 db方法是 List<People> people = dbServ

    5热度

    1回答

    所以我有一个方法返回CompletableFuture。在返回之前,此方法添加一个thenAccept的块,该块在CompletableFuture完成后执行。 此方法的调用者还添加了另一个块thenAccept。显然这可以继续多个链接的调用。 执行thenAccept调用返回的CompletionStage的顺序是什么?它保证是它们被添加的顺序吗?如果没有,如何保证他们按照添加的顺序执行? PS

    4热度

    1回答

    我在CompletableFuture的supplyAsync()中处理长时间运行的操作,并将结果导入到thenAccept()中。在某些时候,接受()在主线程上执行,但有一段时间它在工作线程上运行。但是我想仅在主线程上运行thenAccept()操作。这是示例代码。 private void test() { ExecutorService executorService = Exe

    3热度

    2回答

    CompletableFuture API是相当吓人,很多的接受,和thens和其他的东西;很难说出为什么有不同的选择。 CompletableFuture<?> future = CompletableFuture.supplyAsync(() ->..., executor) future.startNonBlocking...((...) -> { callback behavior d

    3热度

    1回答

    我意识到我希望API的使用者不必处理异常。或者更清楚地说,我想确保总是记录异常,但只有消费者才会知道如何处理成功。我希望客户能够处理异常,如果他们想要的话,我可以返回给他们没有有效的File。 注:FileDownload是Supplier<File> @Override public CompletableFuture<File> processDownload(final FileDownl

    2热度

    1回答

    我有以下组成部分: private JobInfo aggregateJobInfo() { final JobsResult jobsResult = restClient().getJobs(); final List<String> jobIds = extractJobIds(jobsResult); //fetch details, exceptions

    1热度

    2回答

    我想用vertx开发我的应用程序承诺风格,CompletableFuture完全适合这个目的,但JVM在CompletableFuture的背景上使用fork/join,这可能会破坏Vertx线程安全。 你有什么想法或在你的项目中使用过这个功能吗?

    5热度

    1回答

    在Async Http Client documentation我看看如何获​​得Future<Response>作为异步HTTP的结果Get请求简单地做,例如: AsyncHttpClient asyncHttpClient = new DefaultAsyncHttpClient(); Future<Response> f = asyncHttpClient .prepareGe

    3热度

    1回答

    我想看到的行为有意地导致与CompletableFuture堆栈溢出,但相反发现,它导致成功和我的递归循环刚刚停止并退出和junit测试通过。这真的不是我想要的行为。我想要一个失败的快速行为,所以我知道要修复我的代码。 @Test public void testBlowTheStack() throws InterruptedException { recurse(0);

    0热度

    1回答

    在他们开始使用CompletionStage作为控制器的返回类型将被用于异步执行,或者简而言之PlayFramework的最新版本,如果返回CompletionStage是异步执行... 现在,当我们知道我们提交给CF的工作是长时间运行的IO操作时,我们需要传递一个自定义执行程序(否则它将默认在FJP上执行)。 每个控制器执行有HTTP背景下,其在它所有的请求信息也这种情况下必须有你的Entity