当我们使用rabbitMQ主题交换时,我们可以在任何地方发送消息。当我收到消息时,我们的项目非常大,我们发现消息中存在问题,我们希望在发送消息时修改消息。但很难找到消息发送的地方。
RabbitMQ中是否有方法或命令工具可以找出发送消息的位置。
答案 0 :(得分:0)
您可以使用exchange
,delivery_tag
,routing_key
,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();
}
};
来提供一些信息:
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