【发布时间】:2018-11-14 09:56:21
【问题描述】:
我需要一些关于 Spring 转换的说明。
在ClassA 中,我正在创建一个声明性事务。从ClassA 我打电话给method1() 的ClassB。
ClassB 在类级别有 @Transactional(propagation = Propagation.REQUIRED) 注释。
在method1()我正在做一个保存操作。
我的问题是,何时提交这些数据?它会在控制权出来的时候被提交吗
method1()?或在ClassA 我们手动提交事务的地方?
代码:
A 类
class ClassA {
void myMethod() {
TransactionStatus status = null;
DefaultTransactionDefinition def =
new DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
def.setTimeout(contentFileProcessingConfigBean.getFileCopyTransactionTimeout());
status = transactionManager.getTransaction(def);
b.method1();
if (status != null) {
transactionManager.commit(status);
}
}
}
B 类
@Transactional(propagation = Propagation.REQUIRED)
class ClassB {
void method1() {
//doing save operation
}
}
【问题讨论】:
标签: java spring spring-transactions