トランザクション属性
トランザクション属性を使用して、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();
}
次の例では、isolation
、propagation
、timeout
トランザクション属性を XML で設定します。
XML 構成
<step id="step1">
<tasklet>
<chunk reader="itemReader" writer="itemWriter" commit-interval="2"/>
<transaction-attributes isolation="DEFAULT"
propagation="REQUIRED"
timeout="30"/>
</tasklet>
</step>