事务属性
可以使用事务属性来控制 isolation
、propagation
和 timeout
设置。可以在 Spring 核心文档 中找到有关设置事务属性的更多信息。
-
Java
-
XML
以下示例在 Java 中设置 isolation
、propagation
和 timeout
事务属性
Java 配置
@Bean
public Step step1(JobRepository jobRepository, PlatformTransactionManager transactionManager) {
DefaultTransactionAttribute attribute = new DefaultTransactionAttribute();
attribute.setPropagationBehavior(Propagation.REQUIRED.value());
attribute.setIsolationLevel(Isolation.DEFAULT.value());
attribute.setTimeout(30);
return new StepBuilder("step1", jobRepository)
.<String, String>chunk(2, transactionManager)
.reader(itemReader())
.writer(itemWriter())
.transactionAttribute(attribute)
.build();
}
以下示例在 XML 中设置 isolation
、propagation
和 timeout
事务属性
XML 配置
<step id="step1">
<tasklet>
<chunk reader="itemReader" writer="itemWriter" commit-interval="2"/>
<transaction-attributes isolation="DEFAULT"
propagation="REQUIRED"
timeout="30"/>
</tasklet>
</step>