Transactions in the CDM Library

Information on transactions in the cdm. How transactions are configured and why they are configured in a specific way. Furthermore in future this page can contain also information on transaction boundaries and the like.

The default propagation strategy for service classes: Propagation.SUPPORTS vs Propagation.REQUIRED

In Forums and blocks the recommendation to set the propagation strategy to Propagation.SUPPORTS, this should increase the performance:

We tested the effect of setting propagation strategy to Propagation.SUPPORTS and could not find a significant difference.

see Propagation.SUPPORTS-vs-Propagation.REQUIRED.ods

Propagation.SUPPORTS (past configuration)

With r8688 Propagation.SUPPORTS as been set as default propagation strategy for all service classes:

@Transactional(readOnly = true, propagation = Propagation.SUPPORTS) 
class ...

This has been only introduced to prevent early commit in Spring Web-flow.

Propagation.REQUIRED (current configuration)

Propagation.SUPPORTS was causing problems with hibernate 4: Transactions where not started in some cases when using the services from the web service controllers or from the LocaleContext class. So we switched back to Propagation.REQUIRED with r17508.

Updated by Katja Luther 8 months ago · 9 revisions