ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

springboot 项目 运行rabbitmq(推送+消费)

2022-06-14 16:03:43  阅读:153  来源: 互联网

标签:springboot admin boot rabbitmq 添加 orderQueue 推送 public


准备

先下载windos版本的mq

「rabbitmq-server-3.9.13.exe」https://www.aliyundrive.com/s/VKB63ghAJZx 

点击下载

 

1启动rabbitmq

双击

 

 

 如果出现端口占用的情况,进行以下操作

 

 

 右键->停止

账号密码默认:

guest

这里我是用新添加的admin账号,注意要给管理员权限

 消费者

2添加依赖

在项目中添加依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>

3配置连接

配置rabbitmq的连接

rabbitmq:
  host: 192.168.126.17
  port: 5672
  username: admin
  password: admin

 

 

 

 

 

4创建队列

 

@Configuration
public class RabbitMQConfig {

//新建一个用来封装队列参数的对象,放入spring容器 //rabbitmq自动配置类会发现这个对象,使用其中的参数 //来创建队列 @Bean(name = "orderQueue") public Queue orderQueue(){ return new Queue("orderQueue"); } }

 

 

5生产订单

在OrderServiceImpl中注入RabbitAutoConfigtion配置类AmqpTemplate

@Service
public class OrderServiceImpl implements OrderService {

    @Resource
    private AmqpTemplate amqpTemplate;
    @Override
    public void demo2() {
        String s = "测试demo2";
        amqpTemplate.convertAndSend("orderQueue",s);
    }

}

可以看到rabbitmq上存了一条消息

 

 

消费者

6创建消费者

在消费者系统中同样添加依赖

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

添加配置信息

  rabbitmq:
    host: 192.168.126.17
    port: 5672
    username: admin
    password: admin

创建消费者类

/**
 * 基础配置 1.依赖,2.连接,3.队列
 *
 *
 *消费者从orderQueue接收订单,
 * 调用业务代码,完成订单存储
 */
@RabbitListener(queues = "orderQueue")
@Component
public class OrderComsumer {

    @Autowired
    private OrderService orderService;

    @RabbitHandler //配合RabbitListener,指定处理消息的方法
    public void receive(PdOrder order) throws Exception {
        System.out.println("订单已存储,id="+order.getOrderId());
    }
}

启动项目就可以把存在rabbitMQ中的订单给消费掉

 

 

 

 

 

标签:springboot,admin,boot,rabbitmq,添加,orderQueue,推送,public
来源: https://www.cnblogs.com/xiaotian0422/p/16374969.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有