0
因此,我已經聲明瞭一個長度爲1的隊列,並且發佈者不會自動確認這些消息,這意味着我已收到我收到的每條消息。因此,這裏發生的消息不是消息嗎?在1個長度的隊列中沒有在rabbitmq中收到的消息會發生什麼?
當新消息到達隊列中時,舊的未消息消息會發生什麼情況?
Map < String, Object > args = new HashMap < String, Object >();
args.put("x-max-length", 1);
channel.queueDeclare("myqueue", false, false, false, args);
channel.basicConsume("myqueue", false, consumer);
我想要實現的是myqueue只能容納一條消息,任何發佈者都可以閱讀該消息,但不應該刪除該消息。當新消息到達隊列時,它應該擦除該消息並放入新消息。
感謝您的回答,但是我通過發送不ack來實現我的目的,然後而不是使用basicConsume,我已經使用了basicGet,它現在將隊列用作長度1並始終保存最新消息。 – Mani