项目简介
本项目是基于Spring Boot框架构建的奖励与优惠券管理系统,采用异步命令模式处理各类业务逻辑,如发送短信、赠送奖励、定时赠送优惠券等。借助异步处理,系统可高效应对大量并发请求,保障业务逻辑的可靠与稳定。
项目的主要特性和功能
- 异步命令处理:支持多种异步命令,通过异步命令执行器处理业务逻辑,具备重试机制和异常回调确保执行可靠性。
- MQ顺序消费:利用OrderCreateListener和OrderModifyListener实现MQ顺序消费,保证同一订单消息处理顺序无误。
- 分表处理:依据业务ID分表,提高数据库查询效率,支持分表数量配置以灵活适应业务需求。
- 定时任务:支持定时任务调度,有多种调度模式,满足不同业务场景需求。
- 业务模型:定义多种业务模型存储和处理业务数据,通过AsynCmd对象关联业务模型与异步命令实现异步处理。
安装使用步骤
1. 环境准备
- 安装Java开发环境(JDK 8或更高版本)。
- 安装并配置MySQL数据库。
- 安装并配置Zookeeper。
2. 数据库配置
- 依据项目
sql
文件夹下的SQL文件创建数据库表。 - 修改
jdbc.properties
文件中的数据库URL、用户名和密码。
3. 项目依赖
在项目的pom.xml
文件中添加以下依赖:
xml
<dependency>
<groupId>com.bojiw</groupId>
<artifactId>asyncmd-core</artifactId>
<version>1.8</version>
</dependency>
4. Spring配置
- 在Spring的XML配置文件中引入异步命令组件的配置文件:
xml <import resource="classpath*:/META-INF/asyn/applicationContext.xml"/>
- 配置异步命令组配置(AsynGroupConfig):
xml <bean id="asynGroupConfig" class="com.asyncmd.config.AsynGroupConfig"> <property name="jobName" value="demo-asyn"/> <property name="env" value="dev"/> <property name="zookeeperUrl" value="127.0.0.1:2181"/> <property name="dataSource" ref="dataSource"/> <property name="executerFrequencys" value="10s,10s,1m"/> <property name="tableNum" value="4"/> </bean>
5. 业务逻辑实现
创建自定义的异步业务对象(AsynBizObject)、异步命令对象(AsynCmd)和异步命令执行器(AsynExecuter)。示例代码: ```java public class SmsBiz extends AsynBizObject { private String mobiles; private String content; // Getter and Setter methods }
public class SmsAsynCmd extends AsynCmd
@Service
public class SmsExecuter extends AbstractAsynExecuter
6. 启动项目
启动Spring Boot应用,确保所有配置正确加载,通过HTTP请求调用相应的Controller方法触发异步命令执行。
7. 测试与调试
使用Postman或其他HTTP客户端工具发送请求测试功能,通过日志和数据库记录监控异步命令执行情况。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】