@RabbitListener(queues = {RabbitmqConfig.QUEUE_INFORM_EMAIL})
我们要使用@RabbitListener这个注解,这个注解加在哪个方法上边,就代表,这个方法就会监听queues = {RabbitmqConfig.QUEUE_INFORM_EMAIL}这个队列。并且这个队列用{}括住,所以它可以监听多个队列
创建包
右击java这个包创建一个包
右击rabbitmq创建一个config包
右击rabbitmq创建一个mq包
复制生产方的文件到消费方
因为之前我们在生产方和消费方都进行了声明队列和交换机。为了防止出错,所以我们这里就需要把生产方的RabbitmqConfig这个类文件拷贝到消费方。RabbitmqConfig这个类里是进行声明交换机和队列的。
创建消费方的文件
@Component
要标记成要spring给我管理的bean这样的一个类型叫@Component。也可以标记为service或dao。因为这里不是service也不是dao,所以标记为Component。
测试代码
源码
package com.xuecheng.test.rabbitmq.mq;
import com.rabbitmq.client.Channel;
import com.xuecheng.test.rabbitmq.config.RabbitmqConfig;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
/**
* @author Administrator
* @version 1.0
* @create 2018-06-17 21:21
**/
@Component
public class ReceiveHandler {
@RabbitListener(queues = {RabbitmqConfig.QUEUE_INFORM_EMAIL})
public void send_email(String msg,Message message,Channel channel){
System.out.println("receive message is:"+msg);
}
}