最近在学习rabbitmq,然后我就想一个信道上绑定多个消费者和多个信道绑定多个消费者,这样的方式有什么区别。
首先一个信道上绑定多个消费者
Channel channel1 = connection.createChannel();
Channel channel2 = connection.createChannel();
Consume1 consume1 = new Consume1();
consume1.channel= channel1;
Consume2 consume2 = new Consume2();
consume2.channel = channel1;
BlockingQueue<Runnable> workQuen = new ArrayBlockingQueue<Runnable>(20);
ThreadPoolExecutor executor = new ThreadPoolExecutor(4,20,10, TimeUnit.SECONDS,workQuen);
executor.execute(consume1);
executor.execute(consume2);
管理页面显示有两个消费者
打印的也是我们熟知的轮询投递(我这里自动提交确认Ack)
一个信道绑定一个消费者。
管理页面显示还是有两个消费者但这里显示他们分别是两个Channel
好像现在queue没有轮询投递给消费者是这样的吗?