【发布时间】:2016-09-30 04:04:40
【问题描述】:
我知道可以在此处制作SimpleMessageListenerContainer bean 并设置预取计数和消息侦听器,如下所示:
@Bean
public SimpleMessageListenerContainer messageListenerContainer(
ConnectionFactory rabbitConnectionFactory,
Receiver receiver) {
SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
container.setConnectionFactory(rabbitConnectionFactory);
container.setQueueNames("hello");
container.setMessageListener(new MessageListenerAdapter(receiver, "receive"));
container.setPrefetchCount(1000);
return container;
}
但是,如果我想使用 @RabbitListener 的声明式方法,如何设置通道的预取计数?
@Component
public class Receiver {
private static final Logger log = LoggerFactory.getLogger(Receiver.class);
@RabbitListener(queues = "hello") // how to set prefetch count here?
public void receive(String message) {
log.info(" [x] Received '{}'.", message);
}
}
不可能吗?
【问题讨论】:
标签: java spring spring-amqp