首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由后台线程调用的警告消息事务afterCompletion

问由后台线程调用的警告消息事务afterCompletion
EN

Stack Overflow用户
提问于 2015-07-06 14:48:20
回答 2查看 4.1K关注 0票数 4

在我们的应用程序中,我们使用Hibernate进行ORM,下面的警告是一条消息

警告:事务afterCompletion被后台线程调用!延迟操作,直到原始线程可以处理它。status=4

这条警告消息是我们可以忽略它还是我们需要检查它?

致敬,Sakumar

EN

回答 2

Stack Overflow用户

发布于 2015-07-06 14:53:14

你需要去查一查。只有当事务由一个线程启动,然后由其他“清理”线程回滚时,才会发生这种情况。这可能表明您启动了一个事务,但从未正确关闭它,或者某些后台清理决定回滚一个长时间运行的事务。无论哪种方式,你都应该深入研究它。

票数 6
EN

Stack Overflow用户

发布于 2021-10-05 12:54:48

我有相同的WARN消息和导致事务超时的问题(因为处理需要一些时间...10+最小值)。

问题是我有一个实际上是TimerService的调度器。当TimerService在预定的时间段用完时,它将调用@Timeout实现的方法,该方法将根据我的业务逻辑运行服务。这里的问题是,带@Timeout注释的方法将自己启动一个事务,这意味着对于处理某些1000+记录,只有一个事务是活动的,并且会在一段时间后超时。即使我为每个记录启动了新的事务,第一个事务也只是等待这些事务完成,并再次超时。

我通过调整@Timeout方法中的逻辑来修复它,使其只处理较小批次的数据,但更频繁。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31239303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档