java定时器处理超时未支付订单
来源:互联网 发布:波司登羽绒服 知乎 编辑:程序博客网 时间:2024/04/28 04:10
1、核心代码
public class MyTimerTask implements ServletContextListener {private Timer timer = null;// 初始化监听器,创建实例,执行任务public void contextInitialized(ServletContextEvent event) {timer = new Timer();Timer timer = new Timer();timer.schedule(new TimerTask() {public void run() {Connection conn = null;ResultSet rs = null;PreparedStatement st = null;try {conn = DbUtil.getConnection();conn.setAutoCommit(false);java.util.Date date = new Date();System.out.println("开始查询超时未支付订单...");rs = DbUtil.getResultSet(conn,"select id, last_payment from mat_info where pay_status=0 and last_payment <'"+ date + "'");while (rs.next()) {System.out.println("timeout order id is"+ rs.getString("id"));st = conn.prepareStatement("update mat_info set room_id ='' where pay_status=0 and id='"+ rs.getString("id") + "'");st.execute();}conn.commit();} catch (Exception e) {System.out.println(e);try {conn.rollback();} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}e.printStackTrace();} finally {DbUtil.closeResultSet(rs);DbUtil.closeConnection(conn);}}}, 1000, 15000);}// 销毁监听器,停止执行任务public void contextDestroyed(ServletContextEvent event) {// 确保正在执行的任务是此计时器所执行的最后一个任务。timer.cancel();}}
2、配置
在web.xml里面添加如下配置
<listener> <listener-class> com.lcychina.utils.MyTimerTask </listener-class> </listener>
阅读全文
0 0
- java定时器处理超时未支付订单
- 【Quartz】——利用Quartz处理超时未付款的订单
- 使用Java 中Timer定时器设置订单提交后24小时未付款订单状态为已关闭。
- 订单超时未付款及时删除(伪),一种解决方案
- 实现淘宝订单(比如订单生成、未支付的订单等等)自定义view的实现
- 每秒处理10万订单支付架构
- 订单超过15分钟未支付则关闭
- 订单未支付N小时后取消订单库存回滚
- JAVA处理线程超时
- JAVA 超时中断处理
- JAVA处理线程超时
- JAVA HttpURLConnection超时处理
- JAVA处理线程超时
- java线程超时处理
- JAVA处理线程超时
- JAVA处理线程超时
- Java任务超时处理
- 每秒处理10万订单的支付架构
- C++学习笔记(4)-数据抽象&数据封装&接口(抽象类)
- 前端开发者指南(2017)
- 树莓派-安装mySql并开启远程端口访问
- xhprof 编译错误如何解决?
- Git配置多账号登录不同项目
- java定时器处理超时未支付订单
- 贝塞尔曲线的简介与推理
- lin
- 通过openwrt查看连接手机设备的IP,MAC地址,设备名
- IaaS PaaS和SaaS用示例和比较解释
- Unable to get the default Bean Validation factory
- 动画[2]TweenAnimation 使用场景
- Matlab学习笔记(3)——diag函数的使用
- Linux下C语言的多线程编程