springboot 搭建一个 测试rabbitmq连通性demo

1.pom

yaml 复制代码
		<!-- Spring Boot Starter for RabbitMQ -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-amqp</artifactId>
		</dependency>

2.config

java 复制代码
package com.example.demo.config;

import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


/**
 * @author wangjn
 * @Description
 */
@Configuration
public class RabbitMQConfig {

    @Bean
    public Queue myQueue() {
        // 这里可以根据需要配置队列的属性,例如:
        // 是否持久化、是否排他、是否自动删除、队列参数等
        return new Queue("myQueue", true); // 第二个参数true表示队列持久化
    }
}

3.service

java 复制代码
package com.example.demo.service;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Service;

/**
 * @author wangjn
 * @Description
 * @createTime 2024-06-13 14:03:00
 */
@Service
public class RabbitMqService {

    private final RabbitTemplate rabbitTemplate;

    public RabbitMqService(RabbitTemplate rabbitTemplate) {
        this.rabbitTemplate = rabbitTemplate;
    }

    public void sendMessage(String queueName, String message) {
        rabbitTemplate.convertAndSend(queueName, message);
    }
}

4.controller

java 复制代码
package com.example.demo.web;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author wangjn
 * @Description
 * @createTime 2024-06-13 14:09:00
 */
@RestController
public class RabbitMQController {
    private static final Logger LOGGER = LoggerFactory.getLogger(RabbitMQController.class);
    @Autowired
    private RabbitTemplate rabbitTemplate;

    @PostMapping("/sendToRabbit")
    public String sendMessageToRabbit(@RequestParam("message") String message) {
        rabbitTemplate.convertAndSend("myQueue", message);
        return "Message sent to RabbitMQ successfully!";

    }

    @GetMapping("/checkRabbitMessages")
    public String checkForMessages() {
        return "Checking for messages...";
    }

    @RabbitListener(queues = "myQueue")
    public void listenToRabbit(String message) {
        LOGGER.info("Message received from RabbitMQ: {}", message);
    }

}
相关推荐
jbtianci9 分钟前
Spring Boot管理用户数据
java·spring boot·后端
编程彩机14 分钟前
互联网大厂Java面试:从Jakarta EE到微服务架构的技术场景深度解读
spring boot·分布式事务·微服务架构·java面试·jakarta ee
biyezuopinvip32 分钟前
基于Spring Boot的企业网盘的设计与实现(毕业论文)
java·spring boot·vue·毕业设计·论文·毕业论文·企业网盘的设计与实现
szhf781 小时前
SpringBoot Test详解
spring boot·后端·log4j
无尽的沉默1 小时前
SpringBoot整合Redis
spring boot·redis·后端
Ronin3051 小时前
持久化数据管理中心模块
开发语言·c++·rabbitmq·gtest
这周也會开心1 小时前
RabbitMQ知识点
分布式·rabbitmq
Coder_Boy_3 小时前
技术发展的核心规律是「加法打底,减法优化,重构平衡」
人工智能·spring boot·spring·重构
猫头虎11 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven