RabbitMQ 3.1.3 和缺少的时间戳标头

bwf*_*eds 5 timestamp stomp amqp rabbitmq broker

如果消息中缺少时间戳标头,是否可以将代理配置为插入时间戳标头?那么如果发布客户端不添加时间戳头,broker 是否可以插入一个时间戳值与交易所收到消息时匹配的时间戳?我应该在哪里寻找该配置?或者这是一个坏主意?

Eze*_*eno 5

截至2015年,原来的问题有了新的答案。

这个插件将完全满足您的需求。

请记住,这将产生一些最小的开销,因为它将挂接所有正在排队的消息。


Ian*_*las 4

因此,要回答您的问题,没有办法配置代理来插入时间戳。AMQP 规范中没有任何内容要求消息知道它何时到达代理,并且请记住,在代理端手动插入时间戳仅代表代理接收消息的时间,而不是发布消息的时间。

如果您一意孤行,您可以编写自己的 RabbitMQ 插件来执行此操作,但我不建议这样做。相反,我建议强制您的生产者在其消息属性中包含时间戳。

资源:

RabbitMQ 消息到达时间戳

RabbitMQ AMQP.BasicProperties Java API