0

I have similar problem as in Alpakka MongoDB - specify type in MongoSource

So I implemented my own MongoSource as was in the solution and used it:

object MyMongoSource {
  def apply[T](query: Observable[T]): Source[T, NotUsed] =
    Source.fromPublisher(ObservableToPublisher(query))
}

val source: Source[Book, NotUsed] = MyMongoSource[Book](mongoDb.books.find()) 

But ObservableToPublisher is private class so I get the following error:

object ObservableToPublisher in package mongodb cannot be accessed in package akka.stream.alpakka.mongodb

How to resolve this?

Funny
  • 23
  • 1
  • 4
  • Or you can have a look at http://reactivemongo.org/releases/0.1x/documentation/tutorial/streaming.html – cchantep Mar 12 '18 at 16:14

1 Answers1

0

Define MyMongoSource to be in the akka.stream.alpakka.mongodb.scaladsl package:

package akka.stream.alpakka.mongodb.scaladsl

import akka.NotUsed
import akka.stream.alpakka.mongodb.ObservableToPublisher
import akka.stream.scaladsl.Source
import org.mongodb.scala.Observable

object MyMongoSource {
  def apply[T](query: Observable[T]): Source[T, NotUsed] =
    Source.fromPublisher(ObservableToPublisher(query))
}
Jeffrey Chung
  • 19,319
  • 8
  • 34
  • 54