我从我的互联网研究中得知,Spring Transaction有自己的计时器检查事务是否超过其设置的超时值。 我已经使用AspectJ对此进行了多次测试,但我在事务执行期间从未发现过这样的计时器进程。 Spring Transaction超时是否适用于自己的计时器?
我发现,似乎Spring Transaction存储了一个事务的开始时间(或结束时间),然后在访问数据库资源的某个时刻检查当前时间是否超过之前存储的结束时间。
事实是什么?
答案 0 :(得分:0)
是的春季交易可以超时。您可以在@Transactional
注释或<tx:method/>
XML元素上设置超时。
默认值是在基础事务系统上设置的任何值,例如数据库事务。
有关详情,请参阅文档:https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/transaction.html
至于如何实现超时的细节,它可以在Spring版本和使用的基础事务之间变化。例如,在使用JTA事务时,超时直接设置在UserTransaction
。