Из моей функции Scala я вызываю метод Java API, который возвращает мне CompletableFuture. Теперь мне нужно преобразовать это в Scala Future! Думаю, я мог бы использовать компактный инструмент scala java8, чтобы выполнить эту работу, но какую версию этого инструмента мне следует использовать? Я пытался использовать:
"org.scala-lang.modules" % "scala-java8-compat" % "0.9.0"
Моя сборка sbt не удалась с
org.scala-lang.modules#scala-java8-compat;0.9.0: not found. I guess I should add a resolver, but which one?
Во-вторых, чтобы использовать FutureConverters.toScala, мне нужно получить доступ к completeStage. Откуда я могу это получить?
Например, в вызове:
scala.compat.java8.FutureConverters.toScala(completionStage)
Откуда я могу получить этот CompletionStage?
Пытаться
libraryDependencies += "org.scala-lang.modules" %% "scala-java8-compat" % "0.9.0"
что то же самое, что
libraryDependencies += "org.scala-lang.modules" % "scala-java8-compat_2.12" % "0.9.0"
Обратите внимание на %%
или _2.12
.
CompletionStage
является супертипом java.util.concurrent.CompletableFuture
.
Так что если у вас есть CompletableFuture
, то все.