Skip to content

Commit 2006b83

Browse files
committed
fix: ajustes em geral principalmente na configuração do MassTransit para todos os contextos limitados
1 parent 048c841 commit 2006b83

File tree

10 files changed

+43
-25
lines changed

10 files changed

+43
-25
lines changed

src-masstransit/PAC.Producao/Consumidores/FuncionarioProducaoRegistradoConsumidor.cs renamed to src-masstransit/PAC.Producao/Consumidores/FuncionarioRegistradoConsumidor.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55

66
namespace PAC.Producao.Consumidores
77
{
8-
public class FuncionarioProducaoRegistradoConsumidor : OperariosConsumidor, IConsumer<FuncionarioProducaoRegistradoMensagem>
8+
public class FuncionarioRegistradoConsumidor : OperariosConsumidor, IConsumer<FuncionarioProducaoRegistradoMensagem>
99
{
10-
public FuncionarioProducaoRegistradoConsumidor(
11-
ILogger<FuncionarioProducaoRegistradoConsumidor> logger,
10+
public FuncionarioRegistradoConsumidor(
11+
ILogger<FuncionarioRegistradoConsumidor> logger,
1212
ProducaoContext producaoContext) : base(logger, producaoContext) { }
1313

1414
public async Task Consume(ConsumeContext<FuncionarioProducaoRegistradoMensagem> context)

src-masstransit/PAC.Producao/Consumidores/OperariosConsumidor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
namespace PAC.Producao.Consumidores
88
{
9-
public abstract class OperariosConsumidor
9+
public class OperariosConsumidor
1010
{
1111
protected readonly ILogger<OperariosConsumidor> _logger;
1212
protected readonly ProducaoContext _contexto;

src-masstransit/PAC.Producao/Jobs/OperarioEventosIntegracaoJob.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ private async Task PublicarMensagem()
4242

4343
LogarInformacoesMensagemConsumida(mensagem);
4444

45-
// CAP usa Outbox pattern, ou seja, garante sempre o envio da mensagem para o broker e usa políticas de retry caso ocorram falhas (olhar na docs)
46-
await _produtor.Publish(mensagem);
45+
await _produtor.Publish(mensagem, mensagem.GetType());
4746

4847
RemoverProximaMensagem();
4948
}

src-masstransit/PAC.Producao/Program.cs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,20 @@ static void ConfigureServices(WebApplicationBuilder builder)
3636
builder.Services.AddTransient<OperariosConsumidor>();
3737

3838
// MassTransit - Event bus
39-
builder.Services.AddMassTransit(options =>
39+
builder.Services.AddMassTransit(config =>
4040
{
41-
options.AddConsumer<FuncionarioAtualizadoConsumidor>(typeof(FuncionarioAtualizadoMensagem));
42-
options.AddConsumer<FuncionarioDesligadoConsumidor>(typeof(FuncionarioDesligadoMensagem));
43-
options.AddConsumer<FuncionarioProducaoRegistradoConsumidor>(typeof(FuncionarioProducaoRegistradoMensagem));
41+
config.AddConsumer<FuncionarioAtualizadoConsumidor>();
42+
config.AddConsumer<FuncionarioDesligadoConsumidor>();
43+
config.AddConsumer<FuncionarioRegistradoConsumidor>();
4444

45-
options.UsingRabbitMq();
45+
config.UsingRabbitMq((context, cfg) =>
46+
{
47+
var eventBusSection = builder.Configuration.GetSection("EventBus:Topics");
48+
49+
cfg.ReceiveEndpoint(eventBusSection["FuncionarioAtualizado"], e => e.ConfigureConsumer<FuncionarioAtualizadoConsumidor>(context));
50+
cfg.ReceiveEndpoint(eventBusSection["FuncionarioRegistrado"], e => e.ConfigureConsumer<FuncionarioRegistradoConsumidor>(context));
51+
cfg.ReceiveEndpoint(eventBusSection.GetValue<string>("FuncionarioDesligado"), e => e.ConfigureConsumer<FuncionarioDesligadoConsumidor>(context));
52+
});
4653
});
4754

4855
builder.Services.AddOptions<MassTransitHostOptions>()

src-masstransit/PAC.RH/Consumidores/FuncionariosConsumidor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
namespace PAC.RH.Consumidores
77
{
8-
public abstract class FuncionariosConsumidor
8+
public class FuncionariosConsumidor
99
{
1010
protected readonly ILogger<FuncionariosConsumidor> _logger;
1111
protected readonly RhContext _contexto;

src-masstransit/PAC.RH/Jobs/FuncionarioEventosIntegracaoJob.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ private async Task PublicarMensagem()
4343

4444
_logger.LogInformation("Mensagem - {@tipo}: {@mensagem}", mensagem.GetType().Name, JsonConvert.SerializeObject(mensagem));
4545

46-
// CAP usa Outbox pattern, ou seja, garante sempre o envio da mensagem para o broker e usa políticas de retry caso ocorram falhas (olhar na docs)
47-
await _produtor.Publish(mensagem);
46+
await _produtor.Publish(mensagem, mensagem.GetType());
4847

4948
RemoverProximaMensagem(_filaProcessos);
5049
}

src-masstransit/PAC.RH/Program.cs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,18 @@ static void ConfigureServices(WebApplicationBuilder builder)
5858
builder.Services.AddHangfireServer();
5959

6060
// MassTransit - Event bus
61-
builder.Services.AddMassTransit(options =>
61+
builder.Services.AddMassTransit(config =>
6262
{
63-
options.AddConsumer<OperarioNomeAlteradoConsumidor>(typeof(OperarioNomeAlteradoMensagem));
64-
options.AddConsumer<VendedorInfoPessoaisAlteradaConsumidor>(typeof(VendedorInfoPessoaisAlteradaMensagem));
63+
config.AddConsumer<OperarioNomeAlteradoConsumidor>();
64+
config.AddConsumer<VendedorInfoPessoaisAlteradaConsumidor>();
6565

66-
options.UsingRabbitMq();
66+
config.UsingRabbitMq((context, cfg) =>
67+
{
68+
var eventBusSection = builder.Configuration.GetSection("EventBus:Topics");
69+
70+
cfg.ReceiveEndpoint(eventBusSection["OperarioNomeAlterado"], e => e.ConfigureConsumer<OperarioNomeAlteradoConsumidor>(context));
71+
cfg.ReceiveEndpoint(eventBusSection["VendedorInfoPessoaisAlterado"], e => e.ConfigureConsumer<VendedorInfoPessoaisAlteradaConsumidor>(context));
72+
});
6773
});
6874

6975
builder.Services.AddOptions<MassTransitHostOptions>()

src-masstransit/PAC.Vendas/Consumidores/VendedoresConsumidor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
namespace PAC.Vendas.Consumidores
88
{
9-
public abstract class VendedoresConsumidor
9+
public class VendedoresConsumidor
1010
{
1111
protected readonly ILogger<VendedoresConsumidor> _logger;
1212
protected readonly VendasContext _contexto;

src-masstransit/PAC.Vendas/Jobs/VendedorEventosIntegracaoJob.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ private async Task PublicarMensagem()
4141

4242
LogarInformacoesMensagemConsumida(mensagem);
4343

44-
await _produtor.Publish(mensagem);
44+
await _produtor.Publish(mensagem, mensagem.GetType());
4545

4646
RemoverProximaMensagem();
4747
}

src-masstransit/PAC.Vendas/Program.cs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,20 @@ static void ConfigureServices(WebApplicationBuilder builder)
3838
builder.Services.AddTransient<VendedorEventosIntegracaoJob>();
3939

4040
// MassTransit - Event bus
41-
builder.Services.AddMassTransit(options =>
41+
builder.Services.AddMassTransit(config =>
4242
{
43-
options.AddConsumer<FuncionarioAtualizadoConsumidor>(typeof(FuncionarioAtualizadoMensagem));
44-
options.AddConsumer<FuncionarioDesligadoConsumidor>(typeof(FuncionarioDesligadoMensagem));
45-
options.AddConsumer<FuncionarioRegistradoConsumidor>(typeof(FuncionarioVendasRegistradoMensagem));
43+
config.AddConsumer<FuncionarioAtualizadoConsumidor>();
44+
config.AddConsumer<FuncionarioDesligadoConsumidor>();
45+
config.AddConsumer<FuncionarioRegistradoConsumidor>();
4646

47-
options.UsingRabbitMq();
47+
config.UsingRabbitMq((context, cfg) =>
48+
{
49+
var eventBusSection = builder.Configuration.GetSection("EventBus:Topics");
50+
51+
cfg.ReceiveEndpoint(eventBusSection["FuncionarioAtualizado"], e => e.ConfigureConsumer<FuncionarioAtualizadoConsumidor>(context));
52+
cfg.ReceiveEndpoint(eventBusSection["FuncionarioRegistrado"], e => e.ConfigureConsumer<FuncionarioRegistradoConsumidor>(context));
53+
cfg.ReceiveEndpoint(eventBusSection.GetValue<string>("FuncionarioDesligado"), e => e.ConfigureConsumer<FuncionarioDesligadoConsumidor>(context));
54+
});
4855
});
4956

5057
builder.Services.AddOptions<MassTransitHostOptions>()

0 commit comments

Comments
 (0)