Example usage for org.springframework.transaction.support DefaultTransactionDefinition setPropagationBehavior

List of usage examples for org.springframework.transaction.support DefaultTransactionDefinition setPropagationBehavior

Introduction

In this page you can find the example usage for org.springframework.transaction.support DefaultTransactionDefinition setPropagationBehavior.

Prototype

public final void setPropagationBehavior(int propagationBehavior) 

Source Link

Document

Set the propagation behavior.

Usage

From source file:com.wlami.mibox.server.util.SpringTxHelper.java

/**
 * Start a spring transaction.//from  w  ww  . j  av  a2s  .co  m
 * 
 * @param transactionName
 * @return
 */
public static TransactionStatus startTransaction(String transactionName,
        JpaTransactionManager jpaTransactionManager) {
    DefaultTransactionDefinition definition = new DefaultTransactionDefinition();
    definition.setName(transactionName);
    definition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    TransactionStatus transactionStatus = jpaTransactionManager.getTransaction(definition);
    return transactionStatus;
}

From source file:org.dalesbred.integration.spring.SpringTransactionManager.java

@NotNull
private static DefaultTransactionDefinition settingsToSpringDefinition(@NotNull TransactionSettings settings) {
    DefaultTransactionDefinition df = new DefaultTransactionDefinition();
    df.setIsolationLevel(springIsolationCode(settings.getIsolation()));
    df.setPropagationBehavior(springPropagationCode(settings.getPropagation()));
    return df;//www  . j  a  v  a  2  s  . c  o  m
}

From source file:com.googlecode.starflow.engine.support.TriggerProcessEventUtil.java

/**
 * ?/* w w  w.jav a  2 s. co  m*/
 * 
 * @param processInstId
 * @param action
 * @return
 */
private static void executeLogicInNewTransaction(ProcessDefine processDefine, ProcessInstance processInstance,
        IAction action) {
    PlatformTransactionManager txManager = ApplicationContextHolder.getBean(PlatformTransactionManager.class);
    DefaultTransactionDefinition definition = new DefaultTransactionDefinition();
    definition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
    TransactionStatus status = txManager.getTransaction(definition);
    try {
        action.execute(processDefine, processInstance);
        txManager.commit(status);
    } catch (Exception e) {
        txManager.rollback(status);
        throw new ProcessEngineException("?", e);
    }
}

From source file:com.googlecode.starflow.engine.support.TriggerActivityEventUtil.java

/**
 * ?/*  ww w  .j a  v a  2s  .  c o  m*/
 * 
 * @param activityXml
 * @param activityInst
 * @param action
 * @return
 */
private static void executeLogicInNewTransaction(ActivityElement activityXml, ActivityInst activityInst,
        IAction action) {
    PlatformTransactionManager txManager = ApplicationContextHolder.getBean(PlatformTransactionManager.class);
    DefaultTransactionDefinition definition = new DefaultTransactionDefinition();
    definition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
    TransactionStatus status = txManager.getTransaction(definition);
    try {
        action.execute(activityXml, activityInst);
        txManager.commit(status);
    } catch (Exception e) {
        txManager.rollback(status);
        throw new ProcessEngineException("?", e);
    }
}

From source file:jp.terasoluna.fw.batch.util.BatchUtil.java

/**
 * ?TransactionDefinition??//w w w.  ja  v a 2  s. c o m
 * @param propagationBehavior ??(@see TransactionDefinition) TransactionDefinition.PROPAGATION_REQUIRED
 * @param isolationLevel (@see TransactionDefinition) TransactionDefinition.ISOLATION_DEFAULT
 * @param timeout () TransactionDefinition.TIMEOUT_DEFAULT (??)
 * @param readOnly  false
 * @return 
 */
public static TransactionDefinition getTransactionDefinition(int propagationBehavior, int isolationLevel,
        int timeout, boolean readOnly) {
    DefaultTransactionDefinition td = new DefaultTransactionDefinition();
    td.setPropagationBehavior(propagationBehavior);
    td.setIsolationLevel(isolationLevel);
    td.setTimeout(timeout);
    td.setReadOnly(readOnly);
    return td;
}

From source file:org.caratarse.auth.services.plugins.transactions.OpenTransactionPlugin.java

@Override
public void process(Request request) {
    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    TransactionStatus status = transactionManager.getTransaction(def);
    transaction.set(status);/*from  w  ww . ja va2s  . c o  m*/
}

From source file:com.company.project.service.UserService.java

public boolean insertx(Map user) {
    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
    TransactionStatus status = txManager.getTransaction(def);

    int result = 0;
    try {/*from  w ww . jav a 2  s.  co  m*/
        result = userMapper.insert(user);
        txManager.commit(status); // will not insert if this line is removed
    } catch (Exception e) {
        e.printStackTrace();
        //session.rollback();
        txManager.rollback(status);
    } finally {
    }

    return result == 1;
}

From source file:com.googlecode.starflow.engine.transaction.SpringTransactionPolicy.java

@Override
public TransactionStatus begin(int propagationBehavior) {
    if (transactionManager != null) {
        DefaultTransactionDefinition definition = new DefaultTransactionDefinition();
        definition.setPropagationBehavior(propagationBehavior);
        TransactionStatus txStatus = transactionManager.getTransaction(definition);
        return txStatus;
    } else {//ww  w  .j  a  v a  2  s  .  c  o  m
        return null;
    }
}

From source file:gov.nih.nci.ncicb.tcga.dcc.qclive.live.service.BiospecimenMetadataPlatformsJob.java

@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
    logger.debug(" Updating platforms in uuid_hierarchy ");

    // start TX//from w w  w  .  j a v  a 2  s .  co m
    DefaultTransactionDefinition transactionDefinition = new DefaultTransactionDefinition();
    transactionDefinition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    TransactionStatus status = transactionManager.getTransaction(transactionDefinition);
    try {
        uuidHierarchyQueries.deletePlatforms();
        uuidHierarchyQueries.updateAllUUIDHierarchyPlatforms();
        uuidHierarchyQueries.deduplicatePlatforms();
        transactionManager.commit(status);
    } catch (Exception e) {
        transactionManager.rollback(status);
        String errorMessage = "Unable to update platforms for uuid_hierarchy table due to an unexpected condition";
        // email full stack trace                
        sendErrorEmail(e, errorMessage);
        throw new JobExecutionException(errorMessage, e);
    }
}

From source file:org.ohdsi.webapi.test.feasibility.StudyInfoTest.java

@Test
@Transactional//from w  w w.java2s.  c om
public void testStudyCRUD() {

    DefaultTransactionDefinition requiresNewTx = new DefaultTransactionDefinition();
    requiresNewTx.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);

    Source source = sourceRepository.findOne(1);

    TransactionStatus saveTx = this.transactionTemplate.getTransactionManager().getTransaction(requiresNewTx);
    FeasibilityStudy newStudy = new FeasibilityStudy();
    newStudy.setName("Test Info Study");
    newStudy = this.studyRepository.save(newStudy);
    StudyGenerationInfo info = new StudyGenerationInfo(newStudy, source); // for testing, assume a sourceId of 1 exists.
    info.setStatus(GenerationStatus.PENDING);
    newStudy.getStudyGenerationInfoList().add(info);
    this.studyRepository.save(newStudy);
    this.transactionTemplate.getTransactionManager().commit(saveTx);

    TransactionStatus updateTx = this.transactionTemplate.getTransactionManager().getTransaction(requiresNewTx);
    newStudy.getStudyGenerationInfoList().clear();
    this.studyRepository.save(newStudy);
    this.transactionTemplate.getTransactionManager().commit(updateTx);

}