spring boot 整合 RabbitMQ

  作者:记性不好的阁主

0.准备


基础配置参照:https://www.aimaboge.com/article/537


创建Book类



1、启动类上添加rabbitmq开启注解


package com.laoxu.amqp;

import org.springframework.amqp.rabbit.annotation.EnableRabbit;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@EnableRabbit
@SpringBootApplication
public class SpringBoot02AmqpApplication {

public static void main(String[] args) {
SpringApplication.run(SpringBoot02AmqpApplication.class, args);
}

}



2、在service层添加消息监听注解


package com.laoxu.amqp.service;

import com.laoxu.amqp.bean.Book;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Service;

@Service
public class BookServiceImpl implements BookService {

@Override
@RabbitListener(queues = "laoxu")
public void receive(Book book) {
System.out.println("接收消息:" + book);
}
}


当laoxu消息队列有消息时,则会调用recevice()方法消费消息(打印后删除队列中的消息)。



package com.laoxu.amqp.service;

import com.laoxu.amqp.bean.Book;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Service;

@Service
public class BookServiceImpl implements BookService {

@Override
@RabbitListener(queues = "laoxu")
public void receive(Book book) {
System.out.println("接收消息:" + book);
}

@Override
@RabbitListener(queues = "laoxu.news")
public void receive2(Message message) {
System.out.println(message.getBody());
System.out.println(message.getMessageProperties());
}
}


当laoxu.news消息队列有消息时,则会调用receive2()方法打印消息体和消息相关信息。







相关推荐

评论 抢沙发

表情

分类选择