Akka 설정 지연 실행의 FuturePatterns. after
akka.pattern.Patterns.after makes it easy to complete a Future with a value or exception after a
timeout.
코드는 다음과 같습니다.
package com.usoft;
import akka.actor.ActorSystem;
import akka.dispatch.Futures;
import akka.dispatch.OnComplete;
import akka.pattern.Patterns;
import scala.concurrent.ExecutionContext;
import scala.concurrent.Future;
import scala.concurrent.duration.Duration;
import java.util.Arrays;
import java.util.concurrent.Callable;
/**
* Created by liyanxin on 2015/1/9.
*/
public class PatternAfterDemo {
public static void main(String args[]) {
ActorSystem system = ActorSystem.create("myActorSystem");
final ExecutionContext ec = system.dispatcher();
final Future<String> failExc = Futures.failed(new IllegalStateException("OHNOES1"));
Future<String> delayed = Patterns.after(Duration.create(200, "millis"),
system.scheduler(), ec, failExc);
Future<String> future = Futures.future(new Callable<String>() {
public String call() throws InterruptedException {
Thread.sleep(1000);
return "foo";
}
}, ec);
Future<String> result = Futures.firstCompletedOf(Arrays.asList(future, delayed), ec);
result.onComplete(new OnComplete<String>() {
@Override
public void onComplete(Throwable failure, String success) throws Throwable {
if (failure != null) {
failure.printStackTrace();
} else {
System.out.println(success);
}
}
}, ec);
}
}
==================END==================
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.