引言
本文代码已提交至Github(版本号:
4112b12fb3305d3a4b51bc040223b521590986ae
),有兴趣的同学可以下载来看看:https://github.com/ylw-github/taodong-shop
阅读本文前,有兴趣的同学可以参考我之前写的聚合支付的文章:
- 《淘东电商项目(52) -聚合支付开篇》
- 《淘东电商项目(53) -银联支付案例源码分析》
- 《淘东电商项目(54) -银联支付案例(同步与异步)》
- 《淘东电商项目(55) -支付系统核心表设计》
- 《淘东电商项目(56) -支付系统分布式事务的解决方案》
- 《淘东电商项目(57) -聚合支付(支付令牌接口)》
- 《淘东电商项目(58) -聚合支付(基于设计模式自动跳转支付接口)》
- 《淘东电商项目(59) -聚合支付(集成银联支付)》
- 《淘东电商项目(60) -聚合支付(集成支付宝)》
- 《淘东电商项目(61) -聚合支付(基于模板方法设计模式管理支付回调)》
- 《淘东电商项目(62) -聚合支付(基于模板方法设计模式管理支付回调-支付宝)》
- 《淘东电商项目(63) -聚合支付(多线程日志收集)》
目前「淘东电商项目」的聚合支付模块,已经完成了银联支付以及支付宝的集成,以及基本流程都走通了。接下来要讲的是对账功能,需要使用到xxl-job任务调度平台,本文讲解xxl-job的集成。
本文目录结构:
1. xxl-job管理平台集成到项目
之前也写过xxl-job的的博客,童鞋们可以参阅:《分布式系列教程(17) - 分布式任务调度平台XXL-JOB》,集成的详细步骤不再详述,大家可以从github clone下来看https://github.com/ylw-github/taodong-shop(版本号:4112b12fb3305d3a4b51bc040223b521590986ae
),集成后的在如下模块:
2. 客户端测试
①新建taodong-pay-job模块:
②配置applicaton.yml:
server: port: 8081 ###服务注册到eureka地址 eureka: client: service-url: defaultZone: http://127.0.0.1:8100/eureka logging: config: classpath:logback.xml xxl: job: executor: logpath: ./jobhandler appname: taodong-shop-pay-job port: 9999 logretentiondays: -1 ip: admin: addresses: http://127.0.0.1:9998 accessToken: spring: application: name: taodong-shop-pay-job
③定义jobhandler:
/** * description: 使用任务调度实现自动化补偿 * create by: YangLinWei * create time: 2020/5/18 4:38 下午 */ @JobHandler(value = "payJobHandler") @Component @Slf4j public class PayJobHandler extends IJobHandler { @Override public ReturnT<String> execute(String param) throws Exception { log.info(">>>使用任务调度实现自动化对账"); return SUCCESS; } }
3. 测试
启动Eureka、xxljob管理平台、taodong-shop-pay-job服务。
首先登录xxljob管理平台,添加执行器:
然后添加任务(配置每秒执行):
启动任务:
可以看到控制台有打印日志:
本文完!