3

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

4

0 に答える 0