spring boot使用RabbitMQ

引入RabbitMQ启动器

<!-- RabbitMQ启动器 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>

配置RabbitMQ使得放入和取出的数据都是以Json的格式

@Configuration
public class RabbitMQConfig {

    @Bean
    public MessageConverter messageConverter(){
        return new Jackson2JsonMessageConverter();
    }

}

放数据、取数据

@Autowired
private RabbitTemplate rabbitTemplate;

//向rabbitMQ存数据
rabbitTemplate.convertAndSend("chen.direct","atguigu",new Person("chenli","123"));

//从rabbitMQ中取数据
Object o = rabbitTemplate.receiveAndConvert("atguigu");

配置监听,使得只要消息队列中存在数据,就会立即执行方法体

    @RabbitListener(queues = "atguigu")//queues里面放的是队列,可以是多个
    //监听消息队列的,只要队列一有Person类型的消息,就会被监听到,
    public void receive1(Person person){
        System.out.println("该方法,立即执行");
        System.out.println(person);
    }

    //监听消息队列的,只要队列一有String类型的消息,就会被监听到,
    @RabbitListener(queues = "atguigu")//queues里面放的是队列,可以是多个
    public void receive2(String str){
        System.out.println("监听消息队列的,只要队列一有消息,就会被监听到,该方法,立即执行");
        System.out.println(str);
    }

在启动类上加上@EnableRabbit注解,开启注解驱动,@RabbitListener就会生效

@SpringBootApplication
@EnableRabbit
public class RbmqApplication {

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

}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容