在服务中,我有一个主要方法,可以启动com.twitter.finagle.ListeningServer
并创建一个自定义"频道"返回永不完成的com.twitter.util.Future
(除非出现错误)。两者实际上都是com.twitter.util.Awaitable
个实例,如果其中任何一个完成,我想关闭我的服务。
如果两者都是com.twitter.util.Future
,我可以使用Future.select
来选择完成的第一个未来,所以我现在正在使用{{com.twitter.finagle.ListeningServer
将com.twitter.util.Future
转换为pool { Await.result(listeningServer) }
1}}。
有没有更好的方法来解决我的问题?