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