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


    1.pom

    		<!-- Spring Boot Starter for RabbitMQ -->
    		
    			org.springframework.boot
    			spring-boot-starter-amqp
    		
    

    2.config

    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

    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

    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);
        }
    
    }
    
    
  • 相关阅读:
    你真的看懂扩散模型(diffusion model)了吗?(从DALL·E 2讲起,GAN、VAE、MAE都有)
    毕业设计:基于机器学习的文本聚类 - 可用于舆情分析
    java的实体类注解校验
    [附源码]java毕业设计四六级考试管理系统
    如何让虚拟角色自然融入现实?
    JS高级:对象创建模式
    【Java--数据结构】提升数据处理速度!深入理解Java中的顺序表机制
    Nacos源码学习(一)
    MySQL性能优化(硬件,系统配置,表结构,SQL语句)
    C++之6|多态与异常
  • 原文地址:https://blog.csdn.net/qq_41865739/article/details/139734591