检查MassTransit端点是否可访问

时间:2014-03-18 13:04:03

标签: masstransit

我们在RabbitMQ上使用MassTransit。在我们发布任何消息之前,有没有办法检查端点是否可用?我想设置我们的Io​​C以使用另一种策略,如果servicebus不可用,并且我不想在我发布消息时抓住RabbitMQ.Client.Exceptions.BrockerUnreachableException

2 个答案:

答案 0 :(得分:1)

目前不是,您可以提交请求该功能的问题:https://github.com/MassTransit/MassTransit/issues。实施起来并非易事,但也许并非不可能。

人们已经完成的其他几个选项包括远程集群或具有本地实例以在总线中包含的所有计算机上转发/集群。

答案 1 :(得分:1)

如果您正在使用容器,则可以创建一个可以监视Publish方法调用结果的装饰器,如果它开始抛出异常,您可以将调用切换到另一个发布者。

理想情况下,这样的实现将包括某种类型的渐进式重试功能,以便一旦端点变为可用,调用将恢复到实际端点,并且还会触发先前失败的消息重播到端点。

我认为您已经处理了提供备用存储的需求,例如本地端点或某种本地存储。