All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.cedrickring.reactormongodb.collection.flux.WatchFlux.kt Maven / Gradle / Ivy

The newest version!
package com.github.cedrickring.reactormongodb.collection.flux

import com.github.cedrickring.reactormongodb.collection.ReactiveCollection
import com.mongodb.client.model.changestream.ChangeStreamDocument
import org.bson.conversions.Bson
import reactor.core.CoreSubscriber
import reactor.core.publisher.Flux

class WatchFlux(private val reactiveCollection: ReactiveCollection,
                           private val pipeline: List,
                           private val resultClass: Class) : Flux>() {

    override fun subscribe(actual: CoreSubscriber>?) {
        reactiveCollection.nativeCollection.watch(pipeline, resultClass).forEach(
                { document -> actual?.onNext(document) },
                { _, throwable -> if (throwable != null) actual?.onError(throwable) }
        )
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy