在项目的StartUp中,我为MassTransit.ActiveMQ做了以下设置。但是当我运行时,它会为我创建两个队列,一个是event-listener,另一个是Generation。
当我发布信息时,这些信息会进入系统生成的队列中。
但是,我希望在我设置的队列event-listener中发布信息。
请引导我
services.AddMassTransit(x =>
{
x.AddConsumer<EventConsumer>();
x.UsingActiveMq((context, cfg) =>
{
cfg.Host("localhost", h =>
{
h.Username("admin");
h.Password("admin");
});
cfg.ReceiveEndpoint("event-listener", e =>
{
e.ConfigureConsumer<EventConsumer>(context);
});
});
});发布于 2021-10-16 14:31:44
MassTransit只为配置好的使用者创建队列,或者显式配置接收端点。在上面的代码中,创建的唯一队列将称为event-listener。对于使用者使用的每个消息类型,将创建一个主题,并创建一个虚拟主题使用者,以便接收端点可以使用每种类型的消息。
当消息发布时,将为每个已发布的邮件类型创建一个主题。
如果您想直接向队列发送消息,而不是发布消息:
var provider = serviceProvider.GetRequiredService<ISendEndpointProvider>();
var endpoint = await provider.GetSendEndpoint(new Uri("queue:event-listener"));
await endpoint.Send(...);https://stackoverflow.com/questions/69596448
复制相似问题