Example usage for org.springframework.transaction TransactionDefinition PROPAGATION_REQUIRES_NEW

List of usage examples for org.springframework.transaction TransactionDefinition PROPAGATION_REQUIRES_NEW

Introduction

In this page you can find the example usage for org.springframework.transaction TransactionDefinition PROPAGATION_REQUIRES_NEW.

Prototype

int PROPAGATION_REQUIRES_NEW

To view the source code for org.springframework.transaction TransactionDefinition PROPAGATION_REQUIRES_NEW.

Click Source Link

Document

Create a new transaction, suspending the current transaction if one exists.

Usage

From source file:com.dianping.lion.service.impl.ConfigReleaseServiceImpl.java

private ConfigReleaseServiceImpl(PlatformTransactionManager transactionManager) {
    this.transactionTemplate = new TransactionTemplate(transactionManager);
    this.transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
}

From source file:com.px100systems.data.plugin.persistence.jdbc.TransactionalJdbcService.java

/**
 * Spring transaction manager with configured DataSource, etc.
 * @param mgr transaction manager//from   ww w . j a  va 2 s  . c  o  m
 */
@Required
public void setTransactionManager(DataSourceTransactionManager mgr) {
    transaction = new TransactionTemplate(mgr);
    transaction.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
    transaction.setTimeout(300);
    jdbc = new JdbcTemplate(mgr.getDataSource());
    try {
        mgr.getDataSource().getConnection().close();
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

From source file:org.axonframework.migration.eventstore.JpaEventStoreMigrator.java

public JpaEventStoreMigrator(ApplicationContext context) {
    context.getAutowireCapableBeanFactory().autowireBean(this);
    txTemplate = new TransactionTemplate(txManager);
    txTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
    upcasters = new ArrayList<EventUpcaster>(context.getBeansOfType(EventUpcaster.class).values());
}

From source file:org.zlogic.vogon.web.security.UserService.java

/**
 * Returns true if the username is already in use
 *
 * @param username the username to check
 * @return true if the username is already in use
 *//*w  w w  . j  a va 2  s . com*/
private boolean isUsernameExists(final String username) {
    TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager);
    transactionTemplate.setReadOnly(true);
    transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
    return transactionTemplate.execute(new TransactionCallback<Boolean>() {

        @Override
        public Boolean doInTransaction(TransactionStatus ts) {
            return userRepository.findByUsernameIgnoreCase(username) != null;
        }
    });
}

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

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

    SqlSession session = sqlSessionFactory.openSession();
    int result = 0;
    try {//from  w ww .ja  va  2s .  co m
        result = session.insert("com.company.project.persistence.UserMapper.insert", user);
        txManager.commit(status); // will not insert if this line is removed
        //txManager.rollback(status);
    } catch (Exception e) {
        e.printStackTrace();
        //session.rollback();
        txManager.rollback(status);
    } finally {
        session.close();
    }

    return result;
}

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

static int springPropagationCode(@NotNull Propagation propagation) {
    switch (propagation) {
    case REQUIRED:
        return TransactionDefinition.PROPAGATION_REQUIRED;
    case MANDATORY:
        return TransactionDefinition.PROPAGATION_MANDATORY;
    case NESTED:/*from  w  w  w.  java2  s  .  c  o m*/
        return TransactionDefinition.PROPAGATION_NESTED;
    case REQUIRES_NEW:
        return TransactionDefinition.PROPAGATION_REQUIRES_NEW;
    }
    throw new IllegalArgumentException("unknown propagation: " + propagation);
}

From source file:com.alibaba.otter.node.etl.common.db.dialect.AbstractDbDialect.java

public AbstractDbDialect(JdbcTemplate jdbcTemplate, LobHandler lobHandler, String name, int majorVersion,
        int minorVersion) {
    this.jdbcTemplate = jdbcTemplate;
    this.lobHandler = lobHandler;
    // ?transction
    this.transactionTemplate = new TransactionTemplate();
    transactionTemplate.setTransactionManager(new DataSourceTransactionManager(jdbcTemplate.getDataSource()));
    transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);

    this.databaseName = name;
    this.databaseMajorVersion = majorVersion;
    this.databaseMinorVersion = minorVersion;

    initTables(jdbcTemplate);/* w  w w .  j av  a  2s.c o  m*/
}

From source file:com.github.fharms.camel.route.CamelEntityManagerTestRouteTest.java

@Before
public void setupDatabaseData() {
    txTemplate = new TransactionTemplate(transactionManager);
    txTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
    alphaDoc = createDog("Skippy", "Terrier");
    txTemplate.execute((TransactionCallback) status -> {
        em.persist(alphaDoc);/*from  ww  w . j a va  2s .  co  m*/
        return null;
    });
}

From source file:net.cpollet.jixture.tests.integration.hibernate3.BaseTestDatabaseTestSupport.java

private void executeInNewTransaction(TransactionCallback transactionCallback) {
    TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager);
    transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
    transactionTemplate.setIsolationLevel(TransactionDefinition.ISOLATION_READ_COMMITTED);

    transactionTemplate.execute(transactionCallback);
}