Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Confira nesta sessão o passo a passo para configurar o sistema de mensageria.

Dica
titleLeia sobre o sistema de mensageria TNF

Antes de partir para a configuração, leia sobre o funcionando da mensageria TNF em (ADICONAR LINK)

Configure um novo Tópico

Adicione um ou mais tópicos para serem manipulados por uma Fila. 

...

Finalize com a configuração de Módulo

A configuração do módulo é o últmo passo da configuração da Fila. No módulo será configurado os últimos componentes da fila, como instancia de IocManager e vínculo de ExchangeRouter para publicação e assinatura.

...

titleCriando Publicadores e Assinantes

...

Primeiro de tudo, adicione as referências de assembly e o DependsOn(leia mais sobre Criação de Módulos e DependsOn) para os módulos de mensageria.

Bloco de código
languagec#
titleAssembly e DependsOn
// Using
 
(...)
using Tnf.App.Bus.Queue;
using Tnf.App.Bus.Client;
using Tnf.App.Bus.Queue.RabbitMQ;
using Tnf.App.Bus.Client.Configuration.Startup;
using Tnf.App.Bus.Queue.Enums;
(...)
 
// DependsOn
 
[DependsOn(
	(...)
		typeof(TnfAppBusQueueModule),
    	typeof(TnfAppBusClientModule),
    (...)
Nota
titleErros comuns

Importante: É comum problemas na mensageria devido a problemas de configuração de módulos, principalmente relacionados ao DependsOn


Uma vez configurado as depenências do módulos, vamos configurar o serviço de mensageria.

Bloco de código
languagec#
titleConfiguração de Módulo
linenumberstrue
// typeof(TnfAppBusQueueModule),
// typeof(TnfAppBusClientModule),
 
Configuration.BusClientSetup()
	.SetIocManager(IocManager)
    .SetExchangeRouter("default", e => exchangeRouter)
    .AddPublishers(() => new PublisherListener(Configuration.BusClientSetup().GetExchangeRouterInstance("default")))
    .AddSubscribers(() => new SubscriberListener(Configuration.BusClientSetup().GetExchangeRouterInstance("default")))
    .Run();
Nota
titleCriando Publicadores e Assinantes

Lembre-se: Um ExchangeRouter pode fazer bind para publicadores e assinantes ao mesmo tempo.

Dica
titleReduza o acoplamento e linhas de código
Evite utilizar a configuração de filas utilizando ExchangeRouter via Build. Dê preferencia para configuração da mensageria utilizando arquivo físico de configuração para Exchange Router e Queues.