Red de conocimiento informático - Conocimiento informático - ¡Cómo configurar el controlador Java MongoOptions de MongoDB para uso en producción!

¡Cómo configurar el controlador Java MongoOptions de MongoDB para uso en producción!

Código de colección de código Java

// Constructor

// replicaSetSeeds Direcciones de todos los servidores

// opciones de configuración de consulta predeterminada

public Mongo ( List

throws MongoException {

// Establecer variables de clase

_addr = null;

_addrs = replicaSetSeeds;

_options = opciones;

// Aplicar configuración de consulta

_applyMongoOptions()

// Crear una instancia de conexión TCP

_connector = new DBTCPConnector( this , _addrs );

// Crea una instancia de conexión TCP

// Inicia el hilo de limpieza de datos

_cleaner = nuevo DBCleanerThread();

_cleaner.start();

}

_connector = nuevo DBTCPConnector( this , _addrs ); > // Crear una instancia de conexión TCP

// Aplicar configuración de consulta

void _applyMongoOptions () {

// Si se ejecuta la consulta en el esclavo. servidor

if (_options.slaveOk) esclavoOk();

//Aplicar configuración de escritura predeterminada

setWriteConcern( _options.getWriteConcern()

}

//Aplicar configuración de escritura predeterminada

public void setWriteConcern( preocupación de WriteConcern ) {

_concern = preocupación

}

Otras clases involucradas:

ServerAddress se usa para guardar información sobre el nombre de host y el puerto usado

MongoOptions se usa para guardar la configuración de consulta (ya sea para consulta en el dispositivo esclavo, configuración de tiempo de espera, etc.)

Configuración de parámetros de escritura de WriteConcern, que incluyen: número de servidores, tiempo de espera de escritura: número de servidores, configuración de tiempo de espera de escritura, si se sincronizan los resultados con el sistema de archivos inmediatamente

DBTCPConnector representa datos TCP. Las conexiones se presentarán en detalle en artículos posteriores.

DBCleanerThread limpia el hilo y limpia el DBCursor de cada base de datos de vez en cuando

Obtiene los nombres de todas las bases de datos

La implementación específica es la siguiente siguiente:

código de colección de código Java

//Obtener los nombres de todas las bases de datos

Lista pública getDatabaseNames()

throws MongoException {

// Crea un DBOBject que represente los comandos de la base de datos

BasicDBObject cmd = new BasicDBObject()

cmd.put("listDatabases", 1)

// Utiliza la base de datos de administración para ejecutar el comando y devolver el resultado

CommandResult res = getDB("admin" ).command(cmd, getOptions()); p>

// Si ocurre un error, lanza una excepción

res.throwOnError()

// Obtiene las propiedades de la base de datos en el resultado, que es una base de datos. lista

Lista l = (Lista) res.get("bases de datos");

Lista l = (Lista)res.get("bases de datos"); p> // Obtiene los atributos de la base de datos en el resultado, esta es una lista de bases de datos

Lista l = (List)res.get("databases")get("databases"); p> // Recorre la base de datos, guarda el nombre en la lista y devuelve resultados

List list = new ArrayList()

for (Object o : l) {

list.add(( ((BasicDBObject)o).getString("name"));

} Devuelve la lista.

Devuelve la lista;

}

Otras clases involucradas:

BasicDBObject interactúa con MongoDB a través de una estructura de datos que en realidad es equivalente a un Mapa en Java o un objeto. en JavaScript

CommandResult opera Los resultados heredan de BasicDBObject y proporcionan algunos métodos convenientes que aún pueden encontrar las propiedades correspondientes en DBObject.

Resultados del comando