public interface RabbitmqConsumerService
MQ有两种消息消费模式: 轮询请求队列看是否有消息即拉模式,采用receive,receiveAndConvert和receiveAndReply方法实现; 队列中有消息即对消费者进行通知即推模式,采用@RabbitListener注解实现;
限定符和类型 | 方法和说明 |
---|---|
<T> void |
consume(String queueName,
Class<T> messageClass,
RabbitmqConsumerHandler<T> handler)
消费指定队列的消息,采用rabbitTemplate.receiveAndConvert()方式循环主动拉取消息实现
由于拉取消息会导致消息从队列中删除,因此采用该方法对于fanout和topic两种类型的队列无法保
证每个消费端都能获得消息,如果要实现fanout和topic对应的消息被所有消费者处理,请采用@RabbitListener
实现消息消费
|
<T> void |
listen(String queueName,
Class<T> messageClass,
RabbitmqConsumerHandler<T> handler)
消费指定队列的消息,采用监听模式,效果等同于@RabbitListener
|
<T> void consume(String queueName, Class<T> messageClass, RabbitmqConsumerHandler<T> handler)
T
- queueName
- 队列名messageClass
- 消息类型handler
- 函数式处理<T> void listen(String queueName, Class<T> messageClass, RabbitmqConsumerHandler<T> handler)
T
- queueName
- 队列名messageClass
- 消息类型handler
- 函数式处理