我正在将MassTransit与RabbitMqTransport结合使用。
假设我使用以下命令运行了IBusControl
:
var control = Bus.Factory.CreateUsingRabbitMq(c =>
{
var host = confgurator.Host(config.BuildHostUri(), h =>
{
...
});
...
});
await control.StartAsync();
稍后,我使用以下命令将新端点连接到该正在运行的实例:
host.ConnectReceiveEndpoint(Configuration.QueueName, this.ConfigureEndpoint);
此刻是否还可以为新的消息类型配置发布/发送? “配置发布/发送”是指使用IRabbitMqBusFactoryConfigurator
上现有的方法:
confgurator.Send<MessageContract>(_ =>
{
_.UseRoutingKeyFormatter(__ => Configuration.QueueName);
});
confgurator.Message<MessageContract>(x => x.SetEntityName(nameof(MessageContract)));
confgurator.Publish<MessageContract>(_ =>
{
...
}
答案 0 :(得分:0)
根据Chris Patterson的评论,只能在启动总线之前的配置过程中配置消息类型的发布/发送。