我,但不知道是否有用於ListenableFuture
工作方式類似於allAsList
任何UTIL如果調用get(50, TimeUnit.Milliseconds)
回報已經完成了所有。番石榴ListenableFuture allAsList返回從迄今所看到的所有內容得到
3
A
回答
0
沒有,但有可能在未來,我認爲答案在於there在此相關的問題了討論:有一種特殊的期貨#allAsList(),你可以的 ListenableFuture, FutureCallback and timeouts
基本上代替在所有期貨中添加一個超時回調,並在其上使用Futures#successfulAsList()。因此,每一個超時的未來都會因爲TimeoutException而失敗,並且Futures#successfulAsList()將只返回成功的那個,即不會以任何類型的異常(包括TimeoutException)失敗。
不幸的是,這還沒有在番石榴中實現(請參閱番石榴的跟蹤器問題的第一個鏈接),但至少已被接受爲有效請求。
-1
據我所知,Futures.successfulAsList
會做一些你正在尋找的東西。從the documentation:
創建一個新的ListenableFuture其值是包含所有成功輸入期貨
的值列表,以便調用
Futures.successfulAsList(myListOfFutures).get(50, TimeUnit.Milliseconds)
將返回一個列表,其中每個元素要麼是:
- 成功的結果l的
Future
null
運行時Future
由於超時
相關問題
- 1. 關於番石榴的查詢ListenableFuture
- 2. 番石榴:設置默認執行人ListenableFuture回調和聽衆
- 3. 鏈接到番石榴javadoc
- 4. 番石榴LoadingCache:內的CacheLoader
- 5. Floats.tryParse()番石榴
- 6. 番石榴和Weblogic:ClassNotFoundException
- 7. 番石榴功能
- 8. ClassNotFoundException的番石榴
- 9. 番石榴入門
- 10. 番石榴資源
- 11. 番石榴是否有空?
- 12. 番石榴映射
- 13. FileBackedOutputStream用例(番石榴)
- 14. 番石榴函數組合
- 15. 番石榴表ConcurrentModificationException
- 16. 番石榴和javafx
- 17. Java番石榴CartesianProduct
- 18. Java排序番石榴TreeBasedTable
- 19. 番石榴,Files.readLines()和空白
- 20. 番石榴Multimap containsEntry問題
- 21. 如何將java Future <V>轉換爲番石榴ListenableFuture <V>
- 22. 番石榴:Throwables.propagate和InterruptedException的
- 23. 排序番石榴BiMap
- 24. 番石榴 - 地圖支持番石榴功能
- 25. 番石榴的HashBaseTable cellSet()
- 26. 番石榴RateLimiter爆裂
- 27. 番石榴文件緩存
- 28. 有沒有番石榴的概述?
- 29. 番石榴散列用例
- 30. 子類番石榴的ImmutableSet
你將如何實現這樣的事情失敗或取消? (我不知道它是否可行,但'Futures'中沒有什麼不可思議的 - 如果它在那裏,你可以自己實現它。) – 2013-04-30 21:32:32
我打算如何做到這一點是將allAsList並重寫get(int,TimeUnit),當它超時返回值的列表。這感覺像是一個拙劣的解決方案,所以希望會有別的東西。在另一個項目中,我不得不做同樣的事情,並使用倒計時鎖存器來解決這個問題。每個回調都寫入列表中,如果等待超時,則取消所有剩餘的期貨並返回值列表。 – ekaqu 2013-04-30 21:53:28
於是我分叉CombinedFuture和overrided得到。這感覺非常哈克和未測試,但這是我在尋找:https://gist.github.com/dcapwell/5492453 – ekaqu 2013-04-30 22:32:57