Spring的事务要线程化

时间:2014-02-23 08:12:57

标签: java spring spring-transactions

我在spring配置中定义了一个名为A的bean,并使用了spring的事务。显然,当我使用A的方法时,我们处于事务中。但是如果A是一个线程,那么在A start()时会发生什么,它是否仍处于事务中并且它与之前的条件相同?

1 个答案:

答案 0 :(得分:1)

如果A扩展了Thread,并且A的start()方法是事务性的,则Spring将像所有其他事务方法一样:当调用start()时,事务将启动(如果尚未启动),并且事务将以start()返回的方式结束(如果它在调用start()时开始)。

A的run()方法将在任何Spring事务之外的另一个线程中执行。如果这个run()方法调用另一个注入的Spring组件的事务方法,那么这个方法将在Spring事务中执行。

相关问题