之前在做项目中遇到了这样一个问题,记录一下,防止以后找不到了。
对设备进行实时监听,再监听过程中,一些异常的数据录入数据库记录。
启动监听的时候,开了一个线程,单独去处理监听事件,监听的结果用长连接的方式返回给前端,并且将异常数据插入到数据库中。在这个过程中,因为开启的线程占据了原有的事务,而持续的监听导致事务并没有提交,而插入数据库的动作需要事务提交才能完成,就导致异常数据插入数据库的动作没有及时的反馈,影响了异常数据的录入。
解决办法:最后的解决办法,是在插入动作的时候调用了一个新的方法,而新的方法去开启一个新的事务,由新的事务提交插入的动作。
spring多线程中事务处理
最新推荐文章于 2024-08-15 08:30:00 发布