Example usage for org.springframework.transaction.support TransactionTemplate setPropagationBehaviorName

List of usage examples for org.springframework.transaction.support TransactionTemplate setPropagationBehaviorName

Introduction

In this page you can find the example usage for org.springframework.transaction.support TransactionTemplate setPropagationBehaviorName.

Prototype

public final void setPropagationBehaviorName(String constantName) throws IllegalArgumentException 

Source Link

Document

Set the propagation behavior by the name of the corresponding constant in TransactionDefinition, e.g.

Usage

From source file:org.camelcookbook.transactions.idempotentconsumerintransaction.IdempotentConsumerInTransactionTest.java

@Override
protected CamelContext createCamelContext() throws Exception {
    SimpleRegistry registry = new SimpleRegistry();
    auditDataSource = EmbeddedDataSourceFactory.getDataSource("sql/schema.sql");
    registry.put("auditDataSource", auditDataSource);

    DataSourceTransactionManager transactionManager = new DataSourceTransactionManager(auditDataSource);
    registry.put("transactionManager", transactionManager);

    SpringTransactionPolicy propagationRequired = new SpringTransactionPolicy();
    propagationRequired.setTransactionManager(transactionManager);
    propagationRequired.setPropagationBehaviorName("PROPAGATION_REQUIRED");
    registry.put("PROPAGATION_REQUIRED", propagationRequired);

    auditLogDao = new AuditLogDao(auditDataSource);

    TransactionTemplate transactionTemplate = new TransactionTemplate();
    transactionTemplate.setTransactionManager(transactionManager);
    transactionTemplate.setPropagationBehaviorName("PROPAGATION_REQUIRES_NEW");

    idempotentRepository = new JdbcMessageIdRepository(auditDataSource, transactionTemplate, "ws");

    CamelContext camelContext = new DefaultCamelContext(registry);
    SqlComponent sqlComponent = new SqlComponent();
    sqlComponent.setDataSource(auditDataSource);
    camelContext.addComponent("sql", sqlComponent);
    return camelContext;
}