Spring+quartz定时删除已过期未付款订单信息
来源:互联网 发布:ubuntu安装firefox命令 编辑:程序博客网 时间:2024/06/10 22:10
这两天做微信支付,业务场景为用户选择某个活动填写报名信息并选择票信息用微信支付付款!
一直纠结在是下单减库存还是支付成功减库存,只能说各有利弊。现形的做法我所了解的是以下几种解决方案:
1.下单减库存,并设置失效时间。定时器定时查询未付款且已过超时时间的订单进行删除并添加库存
2.支付成功减库存,但是可能会出现超卖的情况
3.12306队列形式,排队购买
由于我现在业务量和数据量都不是很大,所以打算采取第一种解决方式,下单减少库存,并设置失效时间,微信统一下单的时候也有个参数为订单失效时间。如果超时未付款或以外关闭,quartz每分钟轮询,删除超时订单并返回库存
1.quartz所需jar包【搜索得知spring3以下的需要1.x的quartz-出问题的可以检查下】
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version></dependency>
</pre><pre name="code" class="html"><span style="font-family:SimHei;font-size:14px;">2.Spring配置文件</span>
<pre name="code" class="html"><?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!-- 启动触发器的配置开始 --> <bean name="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="myJobTrigger" /> </list> </property> </bean> <!-- 启动触发器的配置结束 --> <!-- quartz-2.x的配置 --> <bean id="myJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail"> <ref bean="myJobDetail" /> </property> <property name="cronExpression"> <!--每一分钟执行一次--> <value>0 */1 * * * ?</value> </property> </bean> <!-- 调度的配置结束 --> <!-- job的配置开始 --> <bean id="myJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="cleanOrder" /> </property> <property name="targetMethod"> <value>delOrder</value> </property> </bean> <!-- job的配置结束 --> <!-- 工作的bean --> <bean id="cleanOrder" class="***.ActivityDao" /></beans>
</pre><span style="font-family:SimHei; font-size:14px">3.目标类书写目标方法进行逻辑操作即可,具体定时时间间隔可以搜索cronExpression</span><p></p><pre>
0 0
- Spring+quartz定时删除已过期未付款订单信息
- 订单超时未付款及时删除(伪),一种解决方案
- 【Quartz】——利用Quartz处理超时未付款的订单
- Quartz学习之实现关闭超时2天未付款的订单
- Spring+quartz删除超时订单的测试
- 使用Java 中Timer定时器设置订单提交后24小时未付款订单状态为已关闭。
- MAGENTO自动关闭未付款的订单
- spring quartz.SchedulerFactoryBean 定时启动检测排期是否过期
- 使用Python实现淘宝订单定时付款
- 定时删除过期备份文件
- spring+quartz新增,删除,暂停,恢复定时任务
- Linux定时删除过期文件
- Linux定时删除过期文件
- linux 定时删除过期文件夹
- spring的quartz定时
- Spring Quartz定时详情
- Spring+Quartz定时任务
- Spring Quartz定时详情
- 杭电1000、1001C语言,通过。
- AndroidStudio插件GsonFormat
- TCP/IP协议攻击实验2
- RemoteViews之RemoteViews的内部机制
- linux tcp select 超时 自查文档
- Spring+quartz定时删除已过期未付款订单信息
- iOS 获取当前正在显示的ViewController
- eclipse修改android项目的package包名
- main函数参数的用法
- libsvm的安装及使用
- RelativeLayout设置子view位置
- QT5.5.1 嵌入式平台 鼠标键盘不能热插拔问题解决(二)
- nginx学习笔记六(Nginx事件框架处理流程)
- 关于String分割