Java Rabbitmq异步队列消耗

Java Rabbitmq异步队列消耗,java,asynchronous,queue,rabbitmq,Java,Asynchronous,Queue,Rabbitmq,我正在编写本教程: 如果我执行以下指令: 1 > java java -cp $CP ReceiveLogsTopic 1 2 > java java -cp $CP ReceiveLogsTopic 2 3 > java -cp $CP EmitLogTopic 1 a 消费者收到并显示信息“a” 但如果我这样做: 1 > java java -cp $CP ReceiveLogsTopic 1 2 > java -cp $CP EmitLogTopic 1 a

我正在编写本教程:

如果我执行以下指令:

1 > java java -cp $CP ReceiveLogsTopic 1
2 > java java -cp $CP ReceiveLogsTopic 2
3 > java -cp $CP EmitLogTopic 1 a
消费者收到并显示信息“a”

但如果我这样做:

1 > java java -cp $CP ReceiveLogsTopic 1
2 > java -cp $CP EmitLogTopic 1 a
3 > java java -cp $CP ReceiveLogsTopic 2
4 > java -cp $CP EmitLogTopic 2 b
仅显示消息“b”,因为消费者在生产者之前声明

所以我的问题是,有没有一种方法可以声明一个队列“非同步”,并强制它将消息保留在队列中,直到消费者阅读它


诚恳地说,我已经尝试解决同样的问题一天了。有可能吗?问了这个问题之后,你发现了什么吗?我换了一个小的自制代码,rabbitmq对于我当前的需求来说实在太大了。我只是保留这个问题,因为它可能会在未来有所帮助。