因此,我将transactiontemplate与所有默认设置一起使用,如下所示:
class TemplateTest {
@Autowired
public TransactionTemplate transactionTemplate;
@Test
void testTemplate()
{
long x = System.currentTimeMillis();
transactionTemplate.execute(new TransactionCallbackWithoutResult() {
protected void doInTransactionWithoutResult(TransactionStatus status)
{
long y = System.currentTimeMillis();
//do some stuff
}
});
}
现在,对于单线程应用程序,上面的代码可以正常工作。当为上述代码引入多个线程时,会出现不同的结果,其中一些线程几乎立即执行,而对于某些线程,x和y的值之间存在显著差异。有人知道这种行为的原因吗?任何帮助都将不胜感激。
暂无答案!
目前还没有任何答案,快来回答吧!