Page History
의존
| Code Block | ||||
|---|---|---|---|---|
| ||||
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-stream_2.12</artifactId>
<version>2.5.14</version>
</dependency>
import akka.stream.*;
import akka.stream.javadsl.*;
import akka.Done;
import akka.NotUsed;
import akka.actor.ActorSystem;
import akka.util.ByteString;
import java.nio.file.Paths;
import java.math.BigInteger;
import java.time.Duration;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.ExecutionException;
import jdocs.AbstractJavaTest; |
First Step
| Code Block | ||||
|---|---|---|---|---|
| ||||
final Materializer materializer = ActorMaterializer.create(system); //실행되는 엔진
final Source<Integer, NotUsed> source = Source.range(1, 100); //<방출요소,실행시 보조값>
//방출요소를 순차적으로 처리
final CompletionStage<Done> done =
source.runForeach(i -> System.out.println(i), materializer);
done.thenRun(() -> System.out.println("Done runfirst1") ); |
| Code Block | ||||
|---|---|---|---|---|
| ||||
final Materializer materializer = ActorMaterializer.create(system); //실행되는 엔진
final Source<Integer, NotUsed> source = Source.range(1, 100); //<방출요소,실행시 보조값>
//Scan을 사용하여 방출요소를 누적합함
final CompletionStage<Done> done =
source.scan( 0 , (acc, next) -> acc+next ).runForeach(i -> System.out.println(i), materializer);
done.thenRun(() -> System.out.println("Done runFirst2") ); |