を意味し、ストリームのマテリアを理解しないことである。アッカストリーム:何mapMaterializedValue私は<a href="http://doc.akka.io/docs/akka/current/java/stream/stream-flows-and-basics.html#stream-materialization" rel="nofollow noreferrer">Akka streams materialization concept</a>を読んだ
実行するために、ストリーム記述(グラフ)を取り、それを必要とするすべての必要なリソースを割り当てる処理。
mapMaterializedValueを使用してキューにメッセージを送信すると、akkaストリームを作成する1つの例が続きました。コードの目的は、ストリームブループリント後にキューにメッセージをプッシュすることで構築しているとコードが機能していますが、私は本当にmapMaterrializaedValueがコードで何をするのか理解していない:
Promise<SourceQueueWithComplete<String>> promise = new Promise.DefaultPromise<>();
Source<String, SourceQueueWithComplete<String>> s = Source
.queue(100, OverflowStrategy.fail())
.mapMaterializaedValue(queue -> {
promise.trySuccess(queue);
});
source.toMat(Sink.foreach(x -> System.out.println(x)), Keep.left()).run(materIalizer);
promise.<SourceQueueWithComplete<String>>future().map(mapMapperFunction(), actorSystem.dispatcher());
今、あなたのウラジミール、mapMaterializedValueの非常に明確な、について説明をありがとうございIそれがどのように動作するかを理解する。具体化された価値についてのもう一つの質問は、これは未来のようですか? – zt1983811
いいえ。マテリアライズされた値は未来である必要はありません(例えば、これらの例のキューは未来として返されませんが、未来の場合もあります)。 'mapMaterializedValue'と' Future.map'メソッド名の部分文字列 'map'です。この変換はほとんどの場合' map'と呼ばれています。マテリアライズされた値の詳細については、私の答え[ここ](https://stackoverflow.com/questions/39727729/akka-streams-what-does-mat-represents-in-sourceout-mat/39729078#39729078)を参照してください。 –
答えをありがとう、私はそのポストを見ていきます。 – zt1983811