【发布时间】:2015-07-31 09:59:57
【问题描述】:
我对 RabbitMQ 消费者有疑问。实际上我有一个消费者从三个队列中获取消息。问题是我需要从他们每个人那里获得多条消息,但是我的消费者每个队列只获得一条消息并最终获得。如果有人能帮我解决这个问题,我将不胜感激。
下面的消费者代码
for (int i = 0; i < queueNames.size(); i++) {
Channel channel = connection.createChannel();
QueueingConsumer consumer = new QueueingConsumer(channel);
channel.basicConsume(queueNames.get(i).toString(), true, consumer_tag, consumer);
flag = true;
while (flag) {
QueueingConsumer.Delivery delivery = consumer.nextDelivery();
String routingKey = delivery.getEnvelope().getRoutingKey();
System.out.println(routingKey);
String message = new String(delivery.getBody(), "UTF-8");
flag = false;
}
}
其中 queueNames 是一个包含我的队列名称的列表(以 3 个为单位)。
【问题讨论】:
标签: java rabbitmq messaging amqp