mysql数据丢失

ajslife 11-06-14

系统环境:
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,再查看一下事务隔离级别,就一目了然了。