嗨,当我谈到masstransit和RabbitMQ时,我是个菜鸟。我正在尝试实现一个故障使用者,该使用者将仅从错误队列中读取,而不会实际消耗并从错误队列中取出消息。
我设置了一个使用者和一个错误使用者。
<template>
<div class="wrapper">
<slot />
</div>
</template>
<script>
export default {
name: 'layout-default',
};
</script>
这是我的FaultConsumer类
cfg.ReceiveEndpoint(host, nameof(MassMailJobCommand), e =>
{
e.Consumer<MassMailJobCommandConsumer>(context);
e.Consumer<FaultConsumer<MassMailJobCommand>>(context);
});
它将其发送到备用频道。除非我不希望消息离开错误队列,否则它可以正常工作。
非常感谢您。
答案 0 :(得分:0)
失败的消息总是 移到_error
队列中。这就是运输方式的一部分。
为Fault<T>
创建使用者是一个单独的问题,并且会消耗一条消息发生故障(并移至上述错误队列)时由MassTransit发布的故障事件。
故障事件和将消息移至错误队列均是MassTransit的一部分。
此外,作为一个旁注,我建议将您的错误使用者放在单独的端点(例如fault-consumers
)上,以使错误消息不会与其他要处理的消息竞争。接收从队列中读取的端点并根据类型分派消息,这样一堆错误可能会出现在新命令的前面。