记一次生产问题

改完bug,自测完成,提交代码,美滋滋的点击发布。
测试:“哎,我后台管理网站提交了修改,为什么前台加载的数据还是旧数据?”。
我赶紧本地重新测试了一下,并没什么问题啊,于是登上服务器。

  • 检查数据源配置,没问题。
  • 列表项目
  • 检查修改的代码是否成功发布,没问题。
  • 查看后台日志,没报错。
  • 加上debug代码,打印出了执行的sql。
  • 数据库查询,前台修改的价格确实没同步到数据库,可是,为什么呢?(抓耳挠腮…)

sql执行了,数据却并没有更新,真相只有一个! ------事务未提交。
那既然本地测试没有问题,说明服务器上的某些配置必然有问题。
本地和测试环境的区别就在于使用的web容器还有数据库连接配置不同,逐个检查web.xml 以及 jndi的配置文件,第一遍并没有发现任何问题。
但是,认真查看却发现,由于没有采用spring的事务管理,所以原代码使用了prePareStatement的方式执行sql,而jndi的配置有些问题。如下

在这里插入图片描述

我c,竟然是因为这个问题。这里设置成了false,而我再代码中并没有显示执行

connection.commit();

导致,sql虽然成功执行,但是并未提交事务。
ok,剩下的事情就简单了,这个属性改为true就好了呗。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值