completable-future

    3熱度

    2回答

    我有以下的測試,應該總是失敗: @Test public void testCompletable() { CompletableFuture.completedFuture(0) .thenAccept(a -> { org.junit.Assert.assertTrue(1==0); }); } 而且這個測試總是成功。我怎樣才能使這個測試

    3熱度

    1回答

    我一直在嘗試用不同的方法來處理阻塞方法的斷開結果,同時保持可能已被中斷的狀態。我發現要處理髮送和接收難以對齊的不同類別和方法是令人沮喪的。 在以下示例中,SomeBlockingMethod()通常會返回void,因爲將消息發送到某個其他進程。但相反,我用​​與一個接收結果的監聽器。通過將它旋轉到一個線程,我可以用wait()來獲得超時或無限期的結果。 這很好,因爲一旦結果返回,我可以繼續使用特定

    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線程安全。 你有什麼想法或在你的項目中使用過這個功能嗎?

    0熱度

    1回答

    在他們開始使用CompletionStage作爲控制器的返回類型將被用於異步執行,或者簡而言之PlayFramework的最新版本,如果返回CompletionStage是異步執行... 現在,當我們知道我們提交給CF的工作是長時間運行的IO操作時,我們需要傳遞一個自定義執行程序(否則它將默認在FJP上執行)。 每個控制器執行有HTTP背景下,其在它所有的請求信息也這種情況下必須有你的Entity

    5熱度

    1回答

    在Async Http Client documentation我看看如何獲​​得Future<Response>作爲異步HTTP的結果Get請求簡單地做,例如: AsyncHttpClient asyncHttpClient = new DefaultAsyncHttpClient(); Future<Response> f = asyncHttpClient .prepareGe