当RabbitMQ收到消息时,有没有办法从时间中获取时间戳?在我们的应用程序中,我们想测量消息在队列中的持续时间:
time_in_queue=System.currentTimeMillis() - timestamp_from_msg
答案 0 :(得分:0)
rabbitmq_message_timestamp插件执行此操作:
在a时添加时间戳的插件 消息首先进入RabbitMQ。
作者:RabbitMQ团队
Github:rabbitmq / rabbitmq-message-timestamp
答案 1 :(得分:0)
我更新了" rabbitmq-message-timestamp"插入。我的更改已合并,可以使用新标题" timestamp_in_ms"其中包含以毫秒为单位的时间戳。
答案 2 :(得分:0)
至少从 RMQ 5.10.0 开始,每条消息返回的属性对象上似乎都有一个 getTimestamp() 方法。
public class ExchangeConsumer extends DefaultConsumer {
...
@Override
public void handleDelivery(String consumerTag,
Envelope envelope,
AMQP.BasicProperties properties,
byte[] body) throws IOException {
Date timestamp = properties.getTimestamp();
}