Confira nesta sessão o passo a passo para configurar o sistema de mensageria.
Dica |
---|
title | Leia 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.
...
title | Criando 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 |
---|
language | c# |
---|
title | Assembly 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 |
---|
|
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 |
---|
language | c# |
---|
title | Configuração de Módulo |
---|
linenumbers | true |
---|
|
// 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 |
---|
title | Criando Publicadores e Assinantes |
---|
|
Lembre-se: Um ExchangeRouter pode fazer bind para publicadores e assinantes ao mesmo tempo. |
Dica |
---|
title | Reduza 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. |