我如何知道rabbitMQ中的消息从何处发送?

我如何知道rabbitMQ中的消息从何处发送?,rabbitmq,Rabbitmq,当我们使用rabbitMQ主题交换时,我们可以在任何地方发送消息。我们的项目非常大,当我收到一条消息时,我们发现消息中有一个问题,我们想修改发送消息的位置。但很难找到信息的发送地点 rabbitMQ中是否有一种方法或命令工具来查找该消息的发送来源。您可以使用信封获取一些信息,如交换,交付标签,路由密钥: Consumer consumer_a = new DefaultConsumer(channel) { @Override public voi

当我们使用rabbitMQ主题交换时,我们可以在任何地方发送消息。我们的项目非常大,当我收到一条消息时,我们发现消息中有一个问题,我们想修改发送消息的位置。但很难找到信息的发送地点


rabbitMQ中是否有一种方法或命令工具来查找该消息的发送来源。

您可以使用
信封
获取一些信息,如
交换
交付标签
路由密钥

Consumer consumer_a = new DefaultConsumer(channel) {
            @Override
            public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body)
                    throws IOException {
                String message = new String(body, "UTF-8");
              long delivery_tag =   envelope.getDeliveryTag();
              String exchange_from =   envelope.getExchange();
              String routing_key =  envelope.getRoutingKey();

             }
        };
如果需要更多信息,可以使用
标题添加自定义信息,如下所示:

  var properties = new BasicProperties();
  properties.Headers = new Dictionary<string, object>();
  properties.Headers.Add("mysender_user", "my_server");
  properties.Headers.Add("my_custom_info", "my_info");

  channel.BasicPublish(ExchangeName, "", properties, message);
var属性=新的基本属性();
properties.Headers=newdictionary();
添加(“mysender\u用户”、“myu服务器”);
添加(“我的自定义信息”、“我的信息”);
channel.BasicPublish(ExchangeName,“,属性,消息);