资讯专栏INFORMATION COLUMN

记一次问题:本地调试发到测试环境后事务不提交的问题。

XUI / 3494人阅读

摘要:列表项目检查修改的代码是否成功发布,没问题。那既然本地测试没有问题,说明服务器上的某些配置必然有问题。本地和测试环境的区别就在于使用的容器还有数据库连接配置不同,逐个检查以及的配置文件,第一遍并没有发现任何问题。

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

检查数据源配置,没问题。

列表项目

检查修改的代码是否成功发布,没问题。

查看后台日志,没报错。

加上debug代码,打印出了执行的sql。

数据库查询,前台修改的价格确实没同步到数据库,可是,为什么呢?(抓耳挠腮....)

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

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

connection.commit();

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76183.html

相关文章

  • 一次 Mybatis 一级缓存清理无效引起源码走读

    摘要:今天对象在学习时发现对象的方法并不能清理一级缓存同一下相同查询条件返回的结果还是旧值。测试代码如下上网搜索网上搜索找到了相同问题并没有人解答。例如查看官方文档实例有一个本地缓存在执行和时被清理。要明确地关闭它获取打算做更多的工作你可以调用。 今天对象在学习 Mybatis 时发现 org.apache.ibatis.session.SqlSession 对象的 clearCache()...

    voyagelab 评论0 收藏0
  • ngrok+express解决本地环境中微信接口调试问题

    摘要:在微信项目的开发中,经常需要对微信提供的接口进行调试,比如说录音分享上传图像等接口,但是微信要求绑定安全域名才能使用其提供的一系列功能而在开发环境中使用或者本地无法完成域名的认证和绑定所以无法在本地调试。 在微信项目的开发中,经常需要对微信jssdk提供的接口进行调试,比如说录音, 分享 ,上传图像等接口,但是微信jssdk要求绑定安全域名才能使用其提供的一系列功能 , 而在开发环境中...

    luffyZh 评论0 收藏0
  • Spring Cloud分布式事务终极解决方案探讨

    摘要:一小小推广讲座本话题已收入视频讲座分布式事务解决方案大家不妨围观下开源项目我们利用消息队列实现了分布式事务的最终一致性解决方案,请大家围观。 一 小小推广 讲座 本话题已收入视频讲座《Spring Cloud分布式事务解决方案》大家不妨围观下 开源项目 我们利用消息队列实现了分布式事务的最终一致性解决方案,请大家围观。可以参考Github CoolMQ源码,项目支持网站: http:/...

    jsdt 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<