如何在使用捷运接驳后更改RabbitMq的资料?

ffx8fchx  于 2022-12-18  发布在  RabbitMQ
关注(0)|答案(1)|浏览(138)

我正在使用最新版本的MassTransit nuget。我想动态更改服务器用于通信的RabbitMq的配置。连接是通过启动:

services.AddMassTransit(x =>
            {
                x.UsingRabbitMq((cxt, cfg) =>
                {
                    cfg.ConfigureEndpoints(cxt);

                    cfg.Host(address, port, virtualHost, h =>
                    {
                        h.Username(user);
                        h.Password(password);
                    });
                });
            });

如果出于某种原因,用户想要连接到另一个RabbitMq,而不需要MultiBus的上下文,只是停止实际的总线并启动一个新的总线,我该怎么做?我该如何在RabbitMq界面中查看总线何时启动或何时被取消(停止)?
我尝试过使用数据库中保存的信息停止实际的总线连接,并使用用户输入的信息启动新的总线,但我认为这是不正确的。

actualBus.stopAsync(); 
newBus.startAsync();

我想找到一种方法来停止我在启动中启动的总线,并在应用程序中的某个点创建一个新的总线,而不会出现问题。

cygmwpex

cygmwpex1#

总线配置一旦完成,就没有更改总线配置的规定。您可以停止和启动它,但只能停止和启动具有相同配置的同一总线。
您可以使用容器中注册的IBusObserver来观察总线启动/停止事件。

相关问题