当前位置: 首页 > news >正文

中国各大网站扁平化 网站

中国各大网站,扁平化 网站,南昌市网站建设,出入成都通知今天RabbitMQ应用2 一.实际业务逻辑订单系统中使用MQ(不写订单系统逻辑)1.项目的创建和准备2.代码实现ControllerConfigurationproperties 二.物流系统使用MQ(不实现物流系统业务)1.项目创建同订单(一样)2.代码…

RabbitMQ应用2

  • 一.实际业务逻辑
    • 订单系统中使用MQ(不写订单系统逻辑)
    • 1.项目的创建和准备
    • 2.代码实现
      • Controller
      • Configuration
      • properties
    • 二.物流系统使用MQ(不实现物流系统业务)
    • 1.项目创建同订单(一样)
    • 2.代码实现
      • properties
      • Listener
    • 使用对象来发送接收消息
      • 生产者(订单)代码
      • 消费者(物流)代码

一.实际业务逻辑

订单系统中使用MQ(不写订单系统逻辑)

1.项目的创建和准备

  1. 先把空项目创建好
    在这里插入图片描述
  2. 在空项目中创建其他的spring项目

在这里插入图片描述

  1. 创建新的spring项目在这个空项目中
    在这里插入图片描述
  2. 项目创建好会出现一个文件包
    在这里插入图片描述
  3. 有些情况下需要手动添加Maven
    在这里插入图片描述
  4. 在里面选择Maven后,项目就能够使用XML配置文件了
    在这里插入图片描述

2.代码实现

Controller

package com.example.orderservice.controller;import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.UUID;@RequestMapping("/order")
@RestController
public class OrderController {@Autowiredprivate RabbitTemplate rabbitTemplate;@RequestMapping("/create")public String create() {String orderId = UUID.randomUUID().toString();rabbitTemplate.convertAndSend("","order.create","订单信息,订单ID: " + orderId);return "ok";}
}

Configuration

package com.example.orderservice.config;import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.amqp.core.QueueBuilder;@Configuration
public class RabbitMQConfig {@Bean("orderQueue")public Queue orderQueue() {return QueueBuilder.durable("order.create").build();}
}

properties

spring.application.name=orderservice
spring.rabbitmq.addresses=amqp://账号:密码@IP:端口号/虚拟机

二.物流系统使用MQ(不实现物流系统业务)

1.项目创建同订单(一样)

2.代码实现

properties

spring.application.name=logistics
server.port=9090
spring.rabbitmq.addresses=amqp://账号:密码@IP:端口号/虚拟机

Listener

package com.example.logistics.listener;import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
@Component
public class OrderListener {@RabbitListener(queues = "order.create")public void handMessage(String orderInfo) {System.out.println("接收到订单消息: " + orderInfo);}
}

使用对象来发送接收消息

生产者(订单)代码

Controller

@RequestMapping("/order")
@RestController
public class OrderController {@Autowiredprivate RabbitTemplate rabbitTemplate;@RequestMapping("/create")public String create() {String orderId = UUID.randomUUID().toString();rabbitTemplate.convertAndSend("","order.create","订单信息,订单ID: " + orderId);return "ok";}@RequestMapping("/create2")public String create2() {OrderInfo orderInfo = new OrderInfo();orderInfo.setOrderId(UUID.randomUUID().toString());orderInfo.setName("商品 "  + new Random().nextInt(100));rabbitTemplate.convertAndSend("","order.create", orderInfo);return "ok2";}
}

Configuration

@Configuration
public class RabbitMQConfig {@Bean("orderQueue")public Queue orderQueue() {return QueueBuilder.durable("order.create").build();}@Beanpublic Jackson2JsonMessageConverter jackson2JsonMessageConverter() {return new Jackson2JsonMessageConverter();}@Beanpublic RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory, Jackson2JsonMessageConverter jackson2JsonMessageConverter) {RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);rabbitTemplate.setMessageConverter(jackson2JsonMessageConverter);return rabbitTemplate;}
}

model

@Data
public class OrderInfo implements Serializable {private String OrderId;private String name;
}

消费者(物流)代码

Listener

@Component
@RabbitListener(queues = "order.create")
public class OrderListener {@RabbitHandlerpublic void handMessage1(String orderInfo) {System.out.println("接收到订单消息String: " + orderInfo);}@RabbitHandlerpublic void handMessage2(OrderInfo orderInfo) {System.out.println("接收到订单消息OrderInfo: " + orderInfo);}}

Configuration

@Configuration
public class RabbitMQConfig {@Beanpublic Jackson2JsonMessageConverter jackson2JsonMessageConverter() {return new Jackson2JsonMessageConverter();}@Beanpublic RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory, Jackson2JsonMessageConverter jackson2JsonMessageConverter) {RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);rabbitTemplate.setMessageConverter(jackson2JsonMessageConverter);return rabbitTemplate;}
}
http://www.dtcms.com/a/554930.html

相关文章:

  • 湖州长兴建设局网站用asp.net做网站计数器
  • 建瓯企业网站建设wordpress添加目录
  • 想自己做个网站怎么做要进一步增强门户网站建设合力
  • 金融行业网站建设方案晋城网站建设科技有限公司
  • 家电网站建设网页设计制作音乐排行榜
  • 做易拉宝设计的网站永久免费安卓代理ip
  • Linux进程信号(Ⅱ)
  • 从移动硬盘恢复 Timeshift 原始备份的终极指南(含 GRUB 修复 + 多场景适配)
  • ae做的动效怎么放在网站上用html做一个网页
  • 做网站目的国内管理咨询公司排名前十名
  • Maven依赖冲突的解决
  • abap 使用‘SAVE_TEXT‘ 函数注意
  • 基于单片机的物联网智能图书登记终端设计与实现
  • 茂名模板建站定制网站运营难做吗
  • 客户端搭建nfs服务,客户端对将nfs的服务挂在到本地
  • 北京网站建设迈程网络网站带支付模板
  • 第九章、GPT1:Improving Language Understanding by Generative Pre-Training(理论部分)
  • 河南省住房与城乡建设厅网站首页做免费网站需要营业执照吗
  • 中卫市住房建设局网站seo值怎么提高
  • 论文学习_Similarity of binaries through re-optimization
  • 网站架构组成部分贵州最近爆发的传染病
  • AI低代码平台深度横评:钉钉宜搭、简道云、JNPF的场景化选型指南
  • 网站收款接口谷歌推广代运营
  • 美术馆网站建设总体要求做网站记者的出路是什么
  • 网络学习-异步IO(八)
  • 黑蜘蛛网站wordpress 内链工具
  • 泉州市住房与城乡建设局网站易烊千玺网页设计模板
  • 无刷电机拆解与原理简单记录
  • 2025年--Lc227--200. 岛屿数量(递归,带测试用例)-Java版
  • 备份文件wordpressseo网站的优化流程