如果响应为null,RabbitMQ将再次发送请求

时间:2017-12-15 13:46:56

标签: rabbitmq microservices masstransit

我正在使用带有masstransit的RabbitMq进行不同服务之间的消息传递,让我们说我们有以下场景:

第一个服务通过发送请求询问第二个服务的特定信息。

第二个服务在数据库中查找信息并使用包含找到的信息的对象进行响应。

如果数据库中没有可用信息,则第二个服务以空对象响应。

问题是RabbitMQ正在考虑请求失败,因此它会再次发送请求。

我可以将总线配置为将空响应视为正常响应吗?

1 个答案:

答案 0 :(得分:1)

您无法使用null对象回复。您有两种选择:

  1. 向您的回复添加一个布尔属性,表明它不成功
  2. 在请求使用者中抛出异常,然后将故障消息发送到请求客户端。