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.

Propagation.SUPPORTS-vs-Propagation.REQUIRED.ods (16.8 KB) Andreas Kohlbecker, 04/02/2013 09:50 AM

Add picture from clipboard (Maximum size: 40 MB)