이 문제에서 예를 들어 scala.concurrent.Future
을 반환하는 스칼라 루틴의 결과를 사용하여 java.util.concurrent.Future
을 예상하는 타사 Java 라이브러리를 호출해야합니다.스칼라와 자바 interop. of
def someScalaFunction(): scala.concurrent.Future[T]
def otherJavaMethod(arg: java.util.concurrent.Future[T]) = ...
나는 새로운 자바 미래에 스칼라 - 미래, 그러나 그렇지 않으면 저를 주시기 바랍니다 경우 (이 랩 스칼라 - 미래를 중단하는 방법으로 자바 미래 방법 def cancel(mayInterruptIfRunning: Boolean): Boolean
을 구현하는 방법은 없습니다 감싸는 것 알고있다).
이 문제를 어떻게 해결할 수 있습니까?
- 어쨌든 래퍼를 작성하고 단지
cancel
에 전화를 무시 (또는NotImplementedError
던져) 어쩌면 다음 호출 래핑됩니다 클로저를 반환하는 - 변화
someScalaFunction
을 :이 내가 가지고 올 접근 방법이다 Scala 또는 Java Future에서.
일부 클라이언트는 cancel
의 적절한 구현에 의존 할 수 있지만 그다지 중요하지는 않습니다. 2. 정말 못 생기는 API가 생길 것입니다.