Visão geral
Esta seção descreve as opções de conexão e autenticação do MongoDB que você pode passar como parâmetros do URI de conexão no driver Java Reactive Streams.
Como utilizar o URI de conexão
Se você passar um URI de conexão para o construtor MongoClient, poderá incluir opções de conexão na cadeia de caracteres como pares <name>=<value>. No exemplo a seguir, o URI de conexão contém a opção connectTimeoutMS com um valor de 60000 e a opção tls com um valor de true:
public class MongoConnection {public static void main(String[] args) { String uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true"; try (MongoClient client = MongoClients.create(uri)) { // Use client here } }}Opções de conexão
As seções a seguir descrevem as opções de conexão disponíveis no driver Java Reactive Streams. Você pode passar essas opções como parâmetros do URI de conexão para especificar o comportamento do cliente.
Autenticação
Opção de conexão | Descrição |
|---|---|
authMechanism | Define o mecanismo que o driver Java Reactive Streams usa para autenticar o |
authMechanismProperties | Define opções específicas para o mecanismo de autenticação. |
authSource | Define a origem das credenciais de autenticação. A origem é normalmente um |
nome de usuário | Define o nome de usuário para autenticação. Quando esta opção é incluída em uma URI de conexão |
Senha | Define a senha para autenticação. Quando esta opção é incluída em uma URI de conexão |
Configuração da conexão
Opção de conexão | Descrição |
|---|---|
connectTimeoutMS | Define o número de milissegundos que a conexão pode levar antes de atingir o tempo limite. Se uma |
maxIdleTimeMS | Define o número máximo de milissegundos que uma conexão pode |
maxLifeTimeMS | Define o tempo de vida máximo em milissegundos de uma conexão agrupada. Se uma |
socketTimeoutMS (obsoleto) | Esta opção está obsoleta. Você pode configurar esse tempo limite |
ssl | Define se a conexão deve ser feita usando TLS/SSL. |
sslInvalidHostNameAllowed | Permite nomes de host inválidos para conexões TLS/SSL. |
tls | Define se deve conectar usando TLS. Substitui a opção |
tlsAllowInvalidHostnames | Permite nomes de host inválidos para conexões TLS. Substitui a opção |
tlsInsecure | Habilita conexões TLS inseguras ao conectar usando TLS. |
Configuração do pool de conexões
Opção de conexão | Descrição |
|---|---|
maxConnecting | Define o número máximo de conexões que um pool pode estabelecer simultaneamente. |
maxPoolSize | Define o número máximo de conexões no pool de conexões. Se uma operação precisar de uma nova conexão enquanto o pool de conexões tiver |
minPoolSize | Define o número mínimo de conexões no pool de conexões. |
waitQueueTimeoutMS (obsoleto) | Esta opção está obsoleta. Você pode configurar esse tempo limite |
CompressorConfiguration
Opção de conexão | Descrição |
|---|---|
compressors | Define os tipos de compactação preferidos, em ordem, para mensagens de wire protocol enviadas para |
zlibCompressionLevel | Define o nível de compactação para uso do zlib. Esta opção aceita |
Configuração geral
Opção de conexão | Descrição |
|---|---|
directConnection | Define se o driver se conecta diretamente ao host. |
loadBalanced | Define se o driver está se conectando ao MongoDB usando um |
retryWrites | Define se o driver repete ou não as operações de gravação com suporte se |
retryReads | Define se o driver repete ou não as operações de leitura com suporte se |
maxAdaptiveRetries | Define o número máximo de vezes que o driver tenta novamente um comando |
enableOverloadRetargeting | Define se o driver pode despriorizar servidores durante |
uuidRepresentação | Define o mecanismo que o driver Java Reactive Streams usa para codificar instâncias de |
Observação
Descarte de carga no Intelligent Gerenciamento de Carga de Trabalho (IWM)
Se erros com os rótulos SystemOverloadedError ou RetryableError estiverem causando falhas em seu aplicativo ou aparecendo em seus logs de aplicativo, o Load Shedding pode estar ativo em seu cluster e seu driver pode não ter sido atualizado para uma versão que o suporte. Recomendamos atualizar seu driver MongoDB Java Reactive Streams para a versão 5.8 ou posterior. Se você continuar a ver esses erros após a atualização, poderá resolvê-los por meio de alterações no lado do servidor, como revisar sua configuração de Load Shedding, ou por meio de alterações no lado do aplicativo, como implementar tratamento de erros personalizado ou limitação de solicitação do lado do cliente. Dependendo da sua situação, as alterações no lado do aplicativo podem ser preferíveis ou necessárias.
O Load Shedding é um recurso do IWM e ajuda a gerenciar a carga do servidor rejeitando operações em excesso durante a sobrecarga sustentada. Este recurso está disponível no MongoDB 9.0 e posterior.
Para obter mais informações sobre IWM ou como lidar com erros de sobrecarga, consulte a página Gerenciamento inteligente de carga de trabalho ou a página Erros de sobrecarga na documentação do Atlas.
Configuração de proxy
Opção de conexão | Descrição |
|---|---|
proxyHost | Estabelece o host proxy SOCKS5 para estabelecer uma conexão. |
proxyPort | Define o número da porta para o servidor proxy SOCKS5. Deve ser um número inteiro não negativo. |
proxyUsername | Define o nome de usuário para autenticação com o servidor proxy. Obrigatório se |
proxyPassword | Define a senha para autenticação com o servidor proxy. Obrigatório se |
Configuração de preferência de leitura
Opção de conexão | Descrição |
|---|---|
readPreference | Define a preferência de leitura para esta conexão. Os valores enumerados são: |
readPreferenceTags | Especifica um conjunto de tags como uma lista separada por vírgulas de |
maxStalenessSeconds | Define a máxima obsolescência em segundos. Para saber mais sobre a desatualização, |
Configuração do conjunto de réplica
Opção de conexão | Descrição |
|---|---|
replicaSet | Especifica o nome do conjunto de réplicas ao qual se conectar. |
Configuração do Servidor
Opção de conexão | Descrição |
|---|---|
appName | Define o nome lógico do aplicativo. |
heartbeatFrequencyMS | A frequência em milissegundos do driver determinando o estado atual de cada servidor no cluster. |
localThresholdMS | Define um limite de tempo de ping para escolher entre vários servidores MongoDB |
serverMonitoringMode | Define o modo de monitoramento do servidor, que define o protocolo de monitoramento a ser usado. Os valores enumerados são: |
serverSelectionTimeoutMS | Define por quanto tempo o driver aguardará o sucesso da seleção do servidor antes de lançar uma exceção. |
Configuração SRV
Opção de conexão | Descrição |
|---|---|
srvServiceName | Define o nome do serviço SRV. Consulte |
srvMaxHosts | Define o número máximo de hosts do registro SRV para conectar. |
srvAllowedHostsSuffix | 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 (
|
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.
Configuração de write concern
Opção de conexão | Descrição |
|---|---|
seguro | Define se o driver garante que todas as gravações sejam reconhecidas pelo |
journal | Define se o driver aguarda o servidor agrupar o commit no |
w | Se definido, o driver adiciona |
WTimeoutMS (obsoleto) | Esta opção está obsoleta. Você pode configurar esse tempo limite |
Para obter mais informações sobre as opções de conexão nesta seção, consulte o guia Bancos de Dados e Coleções .