El driver Java Reactive Streams es una implementación de la API Reactive Streams, que consta de tres componentes:
PublisherSubscriberSubscription
Un Publisher es un proveedor de una cantidad ilimitada de elementos secuenciados, publicados según la demanda recibida de su Subscriber o de varias instancias de Subscriber. Un Subscription representa un ciclo de vida uno a uno de un Subscriber suscrito a un Publisher.
Tip
Para aprender más sobre flujos reactivos, visita la Documentación de Reactive Streams.
En este tutorial, debes implementar Java Reactive Streams Subscribers para query tu base de datos. Esta guía utiliza métodos de la librería Reactor, una librería basada en la especificación Reactive Streams para implementar Java Reactive Streams Subscribers.
Para obtener más información sobre la biblioteca Reactor, consulte Primeros pasos en la documentación del proyecto Reactor.
Cree su aplicación Java Reactive Streams driver
Debes usar un proyecto dentro de un entorno de desarrollo integrado (EDI) para completar los siguientes pasos. En tu proyecto, crea un nuevo archivo Java en el paquete Java llamado QueryDatabase. Copia y pega el siguiente código en el archivo QueryDatabase:
import com.mongodb.*; import com.mongodb.reactivestreams.client.MongoCollection; import org.bson.Document; import reactor.core.publisher.Mono; import com.mongodb.reactivestreams.client.MongoClient; import com.mongodb.reactivestreams.client.MongoClients; import com.mongodb.reactivestreams.client.MongoDatabase; import static com.mongodb.client.model.Filters.eq; public class QueryDatabase { public static void main(String[] args) { // Replace the placeholder with your Atlas connection string String uri = "<connection string URI>"; // Construct a ServerApi instance using the ServerApi.builder() method ServerApi serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .build(); MongoClientSettings settings = MongoClientSettings.builder() .applyConnectionString(new ConnectionString(uri)) .serverApi(serverApi) .build(); // Create a new client and connect to the server try (MongoClient mongoClient = MongoClients.create(settings)) { MongoDatabase database = mongoClient.getDatabase("sample_mflix"); MongoCollection<Document> movies = database.getCollection("movies"); Mono.from(movies.find(eq("title", "Back to the Future"))) .doOnSuccess(i -> System.out.println(i)) .doOnError(err -> System.out.println("Error: " + err.getMessage())) .block(); } } }
Asigna la cadena de conexión
Sustituye el marcador de posición <connection string> por la cadena de conexión que copiaste de la Paso Crear una cadena de conexión de esta guía.
Ejecutar la aplicación
Ejecute su aplicación, ya sea en su IDE o en su shell. El resultado muestra que te has conectado a MongoDB y has consultado la base de datos.
{ _id: ..., plot: 'A young man is accidentally sent 30 years into the past...', genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ], ... title: 'Back to the Future', ... }
Tip
Si encuentra un error, compruebe que especificó la cadena de conexión correcta y que cargó los datos de muestra.
Después de completar estos pasos, tendrá una aplicación funcional que utiliza el driver para conectarse a su implementación de MongoDB, query la base de datos e imprime el resultado.
Nota
Si enfrenta problemas en este paso, envíe feedback utilizando el Rate this page pestaña en el lado derecho o inferior derecho de esta página.
Puede encontrar soporte para preguntas generales mediante la etiqueta Stack Overflow de MongoDB o la comunidad de Reddit de MongoDB.