Adiciona uma exchange no RabbitMQ
O método
AddExchangeRabbitMQ da plataforma Devprime é utilizado para criar uma nova exchange no RabbitMQ. Este método oferece suporte para diversos tipos de exchange, incluindo Direct, Fanout, Topic e Headers, permitindo uma configuração flexível do roteamento de mensagens. Além disso, permite a configuração personalizada de propriedades da exchange através da classe CustomExchangeProperties.Parâmetros
-
alias(string): Parâmetro opcional com o nome do Stream Alias conforme definido na configuração do Stream Adapter. O valor padrão é “Stream1”. -
exchangeName(string): Nome da exchange. Este é o identificador único da exchange no RabbitMQ. -
exchangeType(ExchangeType): Tipo da exchange, que pode ser um dos seguintes:Direct: Roteia mensagens para filas que possuem uma chave de roteamento exata.Fanout: Roteia mensagens para todas as filas ligadas à exchange.Topic: Roteia mensagens para filas com base em padrões de chave de roteamento.Headers: Roteia mensagens com base em cabeçalhos de mensagem.
-
customProperties(CustomExchangeProperties, opcional): Propriedades adicionais para configurar a exchange. A classeCustomExchangePropertiespermite especificar:Durable(bool): Define se a exchange deve ser durável. O padrão étrue.AutoDelete(bool): Define se a exchange deve ser excluída automaticamente quando não houver filas ligadas. O padrão éfalse.Arguments(IDictionary<string, object>): Argumentos adicionais para configuração específica da exchange. Pode sernullse não houver argumentos adicionais.
Retorno
bool: Retornatruese a exchange for criada com sucesso; caso contrário, retornafalse.
Aqui estão exemplos de como usar o método AddExchangeRabbitMQ com e sem propriedades personalizadas:
1. Criação de uma exchange do tipo Direct sem propriedades personalizadas:
|
|
2. Criação de uma exchange do tipo Topic com propriedades personalizadas:
|
|
Considerações
- Certifique-se de que o
exchangeNameseja único dentro do RabbitMQ para evitar conflitos. - Escolha o
exchangeTypeadequado com base na sua estratégia de roteamento de mensagens. - Utilize
CustomExchangePropertiespara configurar comportamentos avançados, como durabilidade, exclusão automática e argumentos específicos. - As implementações nativas do RabbitMQ são específicas para essa plataforma e atendem a casos de uso particulares. Caso você migre para outra plataforma de streaming, será necessário ajustar seu código para usar os métodos padrão da Devprime ou os métodos específicos da nova plataforma.