1.先生产,启动1号消费者,1号消费者能消费到消息吗?
答:可以。
2.先生产,先启动1号消费者,再启动2号消费者,1号消费者能消费吗?2号消费者能消费吗?
答:1号可以消费,2号不能消费,因为消息已经被1号消费者消费完了,没有待消费的消息。如果使用receive()的方式,在ActiveMQ的管理界面可以看到有两个消费者。
3.先启动2个消费者,后生产消息,消费情况如何?
答:经过多次测试,可以发现,消费者是轮询消费消息的,这样可以让消息平均分配,不至于一个消费者特别忙,一个消费者特别闲,也不会出现抢占资源的情况。
注:在IDEA里同时启动两个消费者的时候,会提示“is not allow to run in parallel”,需要修改允许它们并行运行,如下图所示。