Reactivemongo を使用して、mongodb から列挙子を取得できます。
val enumerator = collection.find(rangeQuery)
.cursor[State]
.enumerate()
akka-http と akka-stream を使用して、この列挙子からストリーミングする方法は?
プレイストリーム実験ライブラリを使用して、列挙子をパブリッシャーに変換しました。
Streams.enumeratorToPublisher(enumerator)
akka-http のように、
complete {
Source(publisher).map { a => /*Thread.sleep(100);*/ChunkStreamPart(a.asJson) }
HttpResponse(entity = HttpEntity.Chunked(MediaTypes.`application/json`, source))
}
しかし、ストリームは終了せず、クライアントはまだデータを待っています。列挙子の作成中に問題はありますか?. または、 Enumerator を publisher に変換する際の問題ですか?
私はすでにreactivemongo googleユーザーグループとplayユーザーグループに質問を投稿しました https://groups.google.com/forum/#!topic/reactivemongo/uObGXFQFH0Y