Я использовал библиотеку Twitter Bijection для преобразования Akka Future в Twitter Future, чтобы я мог использовать богатую библиотеку, которую поддерживает Twitter future.
Моя функция выглядит примерно так:
import scala.concurrent.{Await, ExecutionContext, Future}
import com.twitter.util.{Await, Future, Duration}
import com.twitter.bijection.Conversion.asMethod
def blockingAskWithRetry(receivers: ArrayBuffer[ActorRef], message: Any, maxAttempts: Int)(implicit timeout: Timeout): Any = {
var futures: ArrayBuffer[com.twitter.util.Future[Any]] = new ArrayBuffer[com.twitter.util.Future[Any]]()
receivers.foreach(receiver => {
futures.append((receiver ? message).as[com.twitter.util.Future[Any]])
})
// I haven't used maxAttempts and timeout params as of now
com.twitter.util.Await.all(futures: _*)
}
Я получаю следующую ошибку:
[error] could not find implicit value for parameter conv: com.twitter.bijection.Conversion[scala.concurrent.Future[Any],com.twitter.util.Future[Any]]
[error] futures.append((receiver ? message).as[com.twitter.util.Future[Any]])
[error] ^
Может ли кто-нибудь помочь мне исправить это?