接上一节。
使用上述两个注解可以实现监听消息队列。
1、我们在主配置类中加上@EnableRabbit开启基于注解的RabbitMq
2、我们建立一个BookService.java并为相关方法加上@RabbitListener注解,启动服务器:
代码语言:javascript复制package com.gong.springbootrabbitmq.service;
import com.gong.springbootrabbitmq.bean.Book;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Service;
@Service
public class BookService {
@RabbitListener(queues = "gong.news")
public void recieve(Book book){
System.out.println("收到消息:" book);
}
}
服务器启动时我们就收到了消息,因为上一节我们往gong.news队列中添加了一条消息。
我们如果继续添加一条消息:也收到了
3、第二种收消息的模式
代码语言:javascript复制 @RabbitListener(queues = "gong")
public void recieve2(Message message){
System.out.println(message.getBody());
System.out.println(message.getMessageProperties());
}
启动服务器:
代码语言:javascript复制[B@3c45f2e3
MessageProperties [headers={__TypeId__=com.gong.springbootrabbitmq.bean.Book}, contentType=application/json, contentEncoding=UTF-8, contentLength=0, receivedDeliveryMode=PERSISTENT, priority=0, redelivered=false, receivedExchange=exchange.fanout, receivedRoutingKey=, deliveryTag=1, consumerTag=amq.ctag-Y2Y5J6jRFYdOOzkrxz9VLA, consumerQueue=gong]