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

时间:2016-04-13 10:37:16

标签: rabbitmq

当我们使用rabbitMQ主题交换时,我们可以在任何地方发送消息。当我收到消息时,我们的项目非常大,我们发现消息中存在问题,我们希望在发送消息时修改消息。但很难找到消息发送的地方。

RabbitMQ中是否有方法或命令工具可以找出发送消息的位置。

1 个答案:

答案 0 :(得分:0)

您可以使用exchangedelivery_tagrouting_keyConsumer 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(); } }; 来提供一些信息:

headers

如果您需要更多信息,可以使用 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); 将自定义信息添加为:

stream >> string