首页 文章

如何断开连接,然后使用EasyNetQ从RabbitMQ重新连接?

提问于
浏览
1

我处于需要断开与RabbitMQ的连接并使用EasyNetQ重新连接的情况 . 我是通过处理文档中描述的IBus来做到这一点的 .

https://github.com/EasyNetQ/EasyNetQ/wiki/connecting-to-rabbitmq

“要关闭连接,只需处理总线......这将关闭EasyNetQ使用的连接,通道,消费者和所有其他资源 . ”

但是当我打电话来创建一个新的总线时,它仍然显示为断开连接并处理掉 .

bus = RabbitHutch.CreateBus(connString);
bus.Dispose();
resolver.EasyNetQKernel.Release(bus);
bus = RabbitHutch.CreateBus(connString);
bus.Receive<Command>("CommandQueue"), Process);

此时,当我尝试重置我的消费者时,我收到一条EasyNetQException,其中显示“Bus已被丢弃” .

为什么我不能在处理它后重新创建总线?

1 回答

  • 0

    我没有使用Ninject,但你可以尝试处理和重新创建整个Ninject容器而不是总线实例吗?我认为您的容器可能会保留已经处理的旧引用 .

相关问题