//using http://rxscala.github.io/ 0.18.3
val five = Observable.interval(5000 millis).take(1)
val jdbc = Observable[String](subscriber => {
val rs = conn.prepareStatement("select name from persons").executeQuery()
while (rs.next() && !subscriber.isUnsubscribed) {
subscriber.onNext(rs.getString("name"))
}
subscriber.onCompleted()
})
val max = jdbc.takeUntil(five)
println(max.toBlockingObservable.toList)