mysql数据丢失

11-06-14 ajslife

系统环境:

Linux version 2.6.18-194.el5PAE

mysql 5.0.22, for pc-linux-gnu

mysql-connector-java-5.1.1-alpha-bin.jar

Action{

logger.info("派单开始")

oh = orderBiz.saveOrder;

sql = "select order_code from order_header where order_id = " + oh.getOrderId());

logger.info("从数据库取得订单ID对应的ORDER_CODE为:"+jdbcTemplate.queryForObject(sql.toString(),String.class));

}

会打出如下日志:

17:43:53 PerformOrderAction - 20110613174353派单开始

17:43:53 OrderBiz - saveOrder:保存订单开始时间:1307958233474

17:43:53 OrderBiz - saveOrder:保存订单结束时间:1307958233593

17:43:53 PerformOrderAction - 订单保存成功!从数据库取得订单ID1003339对应的ORDER_CODE为:20110613001610

事务是在service层,biz相关的方法是事务的。 所以此段代码会先保存订单。并通过jdbc的方式从数据库里面读取订单ID对应的订单号。

1. 保存订单后事务是提交了的。

2. 能够通过ID取得提交的订单,则订单应该是持久化到数据库中的。

但最终订单丢失。且查看mysql bin-log的日志,也未找到订单ID对应的数据日志。

对于该问题非常纠结,还望老师帮忙分析,指导!或是告诉我分析该问题的思路!谢谢!

hellohong
2011-06-15 20:37

配置一下mysql的log,查看一下日志,

在my.cnf中加入类似于

log = /var/log/mysql/mysql.log

然后查看其输入的sql log,有没有commit,再查看一下事务隔离级别,就一目了然了。