此时我可以在RabbitMQ中为调用处理程序存储时间吗? RabbitMQ支持这个吗?
答案 0 :(得分:1)
是的,它受到支持,但只能通过额外的插件。
There is more dateiled about that
只需说明您需要安装rabbitmq-plugins enable rabbitmq_delayed_message_exchange
插件,并在邮件中添加新标头:
byte[] messageBodyBytes = "delayed payload".getBytes();
AMQP.BasicProperties.Builder props = new AMQP.BasicProperties.Builder();
headers = new HashMap<String, Object>();
headers.put("x-delay", 5000);
props.headers(headers);
channel.basicPublish("my-exchange", "", props.build(), messageBodyBytes);
因此,您需要在处理此消息后的几毫秒内放置x-delay
值。