Visão geral
Neste guia, você aprenderá como o driver Java gerencia clusters.
Você pode especificar configurações para seus clusters usando uma string de conexão ou passando um objeto MongoClientSettings para o construtor MongoClient. Selecione a aba Connection
String ou MongoClientSettings para visualizar as opções disponíveis:
Inclua os seguintes parâmetros em sua string de conexão para modificar o comportamento do driver ao interagir com seu Cluster MongoDB :
Nome da opção | Tipo | Descrição |
|---|---|---|
| inteiro | Especifica a quantidade máxima de tempo, em milissegundos, o driver aguarda o sucesso da seleção do servidor antes de lançar uma exceção. Padrão: |
| inteiro | Ao se comunicar com várias instâncias do MongoDB em um conjunto de réplicas, o driver envia solicitações somente para um servidor cujo tempo de resposta seja menor ou igual ao servidor com o tempo de resposta mais rápido mais o limite local, em milissegundos. Padrão: |
| string | Especifica que a connection string fornecida inclui vários hosts. Quando especificado, o driver tenta encontrar todos os membros desse conjunto. Padrão: |
| booleano | Especifica que o driver deve se conectar diretamente ao host. Isso mapeia a aplicação de Padrão: |
| booleano | Especifica se o driver está ou não se conectando ao MongoDB usando um balanceador de carga . Padrão: |
| string | Especifica o nome do serviço dos registros de recursos SRV que o driver recupera para construir sua lista de sementes. Você deve usar o formato de conexão da lista de sementes do DNS em seu URI de conexão para usar essa opção. Padrão: |
| string | Especifica o sufixo de domínio que o driver usa para validar os nomes de hospedar retornados pela pesquisa de registro SRV. Ao definir essa opção, o driver valida os nomes de host em relação ao sufixo especificado em vez do domínio inferido do nome de host SRV. Se o valor não começar com um ponto ( Você pode usar esta opção apenas com o formato de string de conexão Padrão: |
Este exemplo conecta o driver diretamente a um servidor, independentemente do tipo de cluster MongoDB do qual ele faz parte:
ConnectionString connectionString = "mongodb://<host>:<port>/?directConnection=true"MongoClient mongoClient = MongoClients.create(connectionString)Aviso
Alterar a validação padrão do nome de host SRV pode criar vulnerabilidades de segurança, pois relaxa uma proteção integrada contra falsificação de DNS. Especifique o sufixo mais restrito que cobre os hospedar em sua implantação. Por exemplo, se o nome do seu hospedar SRV for cluster.test.internal.example.com, defina srvAllowedHostsSuffix como .internal.example.com. Não o defina como .example.com, que aceita qualquer hospedar no domínio example.com.
Para obter mais informações sobre esses parâmetros, consulte a documentação da API ConnectionString.
Encadeie o método applyToClusterSettings() para modificar o comportamento do driver ao interagir com o cluster do MongoDB.
A tabela a seguir descreve os métodos que você pode conectar às suas configurações para modificar o comportamento do driver:
Método | Descrição |
|---|---|
| Adiciona um ouvinte para eventos relacionados ao cluster. |
| Usa as configurações de um objeto |
| Utiliza as configurações de cluster especificadas em um objeto de |
| Define todas as localizações especificadas de uma implantação do Mongo. |
| Define a quantidade de tempo que uma viagem de ida e volta do servidor pode levar e ainda ser elegível para a seleção do servidor. Padrão: |
| Define como se conectar a um sistema MongoDB. |
| Define o tipo de cluster necessário para o cluster. |
| Define o nome do conjunto de réplicas necessário para o cluster. |
| Define o tempo máximo para selecionar um nó primário antes de lançar uma exceção de tempo limite. Padrão: |
| Adiciona um seletor de servidor para aplicar antes da seleção do servidor. |
| Define o nome do host a ser usado para procurar um registro DNS SRV para localizar os hosts MongoDB. Se você quiser habilitar o processamento de registros TXT associados ao host, especifique o host SRV na string de conexão usando o método Por exemplo: |
| Define o número máximo de hosts aos quais o driver pode se conectar ao usar o protocolo de conexão de seedlist de DNS (SRV), identificado pelo prefixo de cadeia de conexão do Lança uma exceção se você não estiver usando o protocolo de conexão SRV. |
| Define o sufixo de domínio que o driver usa para validar os nomes de hospedar retornados pela pesquisa de registro SRV, em vez do domínio inferido do nome de hospedar SRV. Se o valor não começar com um ponto ( |
Este exemplo conecta o driver diretamente a um servidor, independentemente do tipo de cluster MongoDB do qual ele faz parte:
MongoClient mongoClient = MongoClients.create( MongoClientSettings.builder() .applyToClusterSettings(builder -> builder.mode(ClusterConnectionMode.SINGLE)) .build());Dica
Isto é análogo ao parâmetro directConnection que você pode especificar em seu URI de conexão. Consulte a guia String de conexão para obter mais informações.
Aviso
Alterar a validação do nome de hospedar SRV padrão pode criar vulnerabilidades de segurança, pois relaxa uma proteção integrada contra falsificação de DNS. Especifique o sufixo mais restrito que cobre os hospedar em sua implantação. Por exemplo, se o nome do seu hospedar SRV for cluster.test.internal.example.com, passe ".internal.example.com" para srvAllowedHostsSuffix(). Não passe ".example.com", que aceita qualquer hospedar no domínio example.com.
Para obter mais informações sobre os métodos encadeados, consulte a documentação da API do MongoClientSettings.Builder.