RMQ

RMQ说明文档


对接示例说明

<p>[TOC]</p> <h2>介绍</h2> <p>RMQ对接示例,请先根据<a href="https://www.showdoc.cc/rmq?page_id=1812484091467621" title="RMQ项目依赖">RMQ项目依赖</a>,准备好RMQ运行环境。</p> <h2>示例源码仓库地址</h2> <table> <thead> <tr> <th>源码仓库地址</th> </tr> </thead> <tbody> <tr> <td><a href="https://gitee.com/NuLiing/reliable-message-samples">https://gitee.com/NuLiing/reliable-message-samples</a></td> </tr> <tr> <td><a href="https://github.com/a327919006/reliable-message-samples">https://github.com/a327919006/reliable-message-samples</a></td> </tr> </tbody> </table> <h2>示例代码流程说明</h2> <p>示例代码模拟简单的充值业务,上层系统为支付系统,负责处理支付订单,下层系统为业务系统,负责处理充值订单以及操作账户金额。</p> <pre><code>1. 调用下层系统充值接口,生成充值订单与支付订单。 2. 模拟银行回调上层系统支付成功接口。上层系统调用RMQ预发送消息 --&gt; 执行业务操作(修改支付订单状态)--&gt; 异步调用RMQ确认发送消息。 3. 下层业务系统收到消息 --&gt; 执行业务操作(修改支付订单状态,修改账户余额)--&gt; 调用RMQ确认消费消息。</code></pre> <h2>初始化示例代码数据库</h2> <p>下载项目源码并解压,执行 &quot;数据库初始化SQL脚本&quot;,正常情况下会自动创建数据库(<strong>reliable-message-sample</strong>)以及生成<strong>3</strong>张表。&quot;数据库初始化SQL脚本&quot; 路径为:</p> <pre><code>/reliable-message-samples/sql/rmq-sample-init.sql</code></pre> <h2>运行示例代码</h2> <h4>运行RMQ</h4> <p>先根据RMQ中文文档《<a href="https://www.showdoc.cc/rmq?page_id=1815635527586509" title="快速入门">快速入门</a>》,运行RMQ系统。</p> <hr /> <h3>配置、运行示例代码</h3> <h4>配置</h4> <p>配置文件路径:</p> <pre><code>/reliable-message-samples/spring-boot-sample/src/main/resources/application.yaml</code></pre> <p>配置文件说明:</p> <pre><code class="language-yaml"># 运行端口 server: port: 10010 mybatis: typeAliasesPackage: com.cn.rmq.sample.model.po mapperLocations: classpath:com/cn/rmq/sample/mapper/*.xml spring: # 数据库连接配置 datasource: url: jdbc:mysql://127.0.0.1:3306/reliable-message-sample?useUnicode=true&amp;characterEncoding=utf-8 username: root password: root driver-class-name: com.mysql.jdbc.Driver hikari: connection-test-query: SELECT 1 # ActiveMQ配置 activemq: broker-url: tcp://127.0.0.1:61616 user: admin password: admin # Dubbo配置 dubbo: application: name: spring-boot-sample logger: slf4j registry: address: zookeeper://127.0.0.1:2181 protocol: name: dubbo port: 20882 scan: base-packages: com.cn.rmq.sample.service.impl</code></pre> <h4>运行</h4> <p>模块基于SpringBoot构建,可使用Maven命令(mvn package)打成jar包运行(java -jar)。 调试阶段可直接在IDE中运行ServiceApplication。文件路径为:</p> <pre><code>/reliable-message-samples/spring-boot-sample/src/main/java/com/cn/rmq/sample/BootSampleApplication.java</code></pre> <hr /> <h2>调用示例接口</h2> <p>示例代码集成了Swagger组件,方便接口调试。</p> <pre><code>访问地址: http://127.0.0.1:10010/swagger-ui.html</code></pre> <h4>生成订单</h4> <p>调用接口成功后将生成待支付的充值订单与支付订单。接口响应数据data为订单ID,用于下一步模拟支付成功回调。 <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/dc4ca3b42f64b83021759835fd30beec?showdoc=.jpg" alt="生成订单" title="生成充值订单" /></p> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/9025e2f453b387df842988bbc425fab2?showdoc=.jpg" alt="生成订单响应" /></p> <h4>支付回调</h4> <p>模拟银行支付成功回调,成功调用接口后可查看数据库数据,充值订单、支付订单状态改变成已支付,账户金额已增加。 <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/f3daf005a81e3065ff1efb1b91449901?showdoc=.jpg" alt="支付成功回调" title="支付成功回调" /></p> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/0d888eaa8937726cddea3919291903a3?showdoc=.jpg" alt="支付回调接口响应" title="支付回调接口响应" /></p>

页面列表

ITEM_HTML