Example usage for org.springframework.transaction TransactionDefinition PROPAGATION_REQUIRED

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

Introduction

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

Prototype

int PROPAGATION_REQUIRED

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

Click Source Link

Document

Support a current transaction; create a new one if none exists.

Usage

From source file:com.devicehive.service.IdentityProviderServiceTest.java

private IdentityProviderVO createIdentityProvider() {
    IdentityProviderVO identityProvider = new IdentityProviderVO();
    identityProvider.setName(RandomStringUtils.randomAlphabetic(10));
    identityProvider.setTokenEndpoint(RandomStringUtils.randomAlphabetic(10));
    identityProvider.setApiEndpoint(RandomStringUtils.randomAlphabetic(10));
    identityProvider.setVerificationEndpoint(RandomStringUtils.randomAlphabetic(10));

    DefaultTransactionDefinition tx = new DefaultTransactionDefinition();
    tx.setName("CreateTx");
    tx.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    TransactionStatus status = txManager.getTransaction(tx);
    try {/*from   w  w w. j a  v a  2 s .c  o  m*/
        providerDao.persist(identityProvider);
    } catch (Exception ex) {
        txManager.rollback(status);
        throw ex;
    } finally {
        try {
            txManager.commit(status);
        } catch (Exception ex) {
            txManager.rollback(status);
        }
    }

    return identityProvider;
}

From source file:org.fcrepo.camel.integration.FcrepoTransactionIT.java

@Before
public void setUp() throws Exception {
    super.setUp();

    txTemplate = new TransactionTemplate(txMgr);
    txTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    txTemplate.afterPropertiesSet();//from w  w  w  .  ja v a  2s.  c o m
}

From source file:nz.co.senanque.base.CustomerDAOImpl.java

@SuppressWarnings("unused")
public void transactionTester() {
    final DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    // explicitly setting the transaction name is something that can only be done programmatically
    def.setName("SomeTxName");
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    def.setReadOnly(true);// w w w .j av a  2s.  c o m

    final TransactionStatus status = m_txManager.getTransaction(def);
    Session session = getSessionFactory().getCurrentSession();
    final Transaction transaction = session.getTransaction();
    Query query = session.createQuery("select p from nz.co.senanque.madura.sandbox.Customer p");
    @SuppressWarnings("unchecked")
    List<Customer> customers = query.list();
    for (Customer customer : customers) {
        final Session session1 = getSessionFactory().openSession();
        final Session currentSession = getSessionFactory().getCurrentSession();
        final Transaction transaction1 = currentSession.getTransaction();
        getSubTransaction().process(customer);
    }

}

From source file:nz.co.senanque.functions.CustomerDAOImpl.java

@SuppressWarnings({ "unused", "unchecked" })
public void transactionTester() {
    final DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    // explicitly setting the transaction name is something that can only be done programmatically
    def.setName("SomeTxName");
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    def.setReadOnly(true);//from   w  w  w . j  a v  a 2s .co m

    final TransactionStatus status = m_txManager.getTransaction(def);
    Session session = getSessionFactory().getCurrentSession();
    final Transaction transaction = session.getTransaction();
    Query query = session.createQuery("select p from nz.co.senanque.madura.sandbox.Customer p");
    List<Customer> customers = query.list();
    for (Customer customer : customers) {
        final Session session1 = getSessionFactory().openSession();
        final Session currentSession = getSessionFactory().getCurrentSession();
        final Transaction transaction1 = currentSession.getTransaction();
        getSubTransaction().process(customer);
    }

}

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  .j a  v a  2s. co  m*/
        return TransactionDefinition.PROPAGATION_NESTED;
    case REQUIRES_NEW:
        return TransactionDefinition.PROPAGATION_REQUIRES_NEW;
    }
    throw new IllegalArgumentException("unknown propagation: " + propagation);
}

From source file:com.gisgraphy.domain.repository.AbstractTransactionalTestCase.java

/**
 * Begins a new transaction/*from w ww.  j a  va  2  s. c  o m*/
 */
@Override
protected void onSetUp() throws Exception {
    super.onSetUp();
    EncodingHelper.setJVMEncodingToUTF8();
    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);

    if (isTransactionNeeded()) {
        this.txStatus = this.transactionManager.getTransaction(def);
    }
    this.onSetUpInTransaction();

}

From source file:org.apache.camel.processor.aggregate.jdbc.OptimisticLockingJdbcAggregationRepository.java

protected TransactionTemplate getTransactionTemplate() {
    if (transactionTemplate == null) {
        transactionTemplate = new TransactionTemplate(transactionManager);
        transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    }//from  www.ja  v a 2s.c om
    return transactionTemplate;
}

From source file:org.wildfly.camel.test.jms.TransactedJMSIntegrationTest.java

@Before
public void setUp() throws Exception {
    JtaTransactionManager jtaTransactionManager = new JtaTransactionManager();
    jtaTransactionManager.setTransactionManager(transactionManager);
    jtaTransactionManager.setUserTransaction(userTransaction);

    TransactionTemplate template = new TransactionTemplate(jtaTransactionManager,
            new DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRED));

    SpringTransactionPolicy transactionPolicy = new SpringTransactionPolicy();
    transactionPolicy.setTransactionTemplate(template);
    transactionPolicy.setTransactionManager(jtaTransactionManager);

    initialctx.bind("PROPAGATION_REQUIRED", transactionPolicy);
    initialctx.bind("transactionManager", jtaTransactionManager);

    jmsComponent = JmsComponent.jmsComponentTransacted(connectionFactory, jtaTransactionManager);
}

From source file:org.fcrepo.camel.FcrepoTransactionManagerTest.java

@Test
public void testTransactionCommit() throws FcrepoOperationFailedException {
    final String baseUrl = "http://localhost:8080/rest";
    final String tx = "tx:1234567890";
    final URI commitUri = URI.create(baseUrl + "/" + tx + FcrepoConstants.COMMIT);
    final URI beginUri = URI.create(baseUrl + FcrepoConstants.TRANSACTION);
    final FcrepoTransactionManager txMgr = new FcrepoTransactionManager();
    txMgr.setBaseUrl(baseUrl);//from w  ww .  j a v  a 2  s. com
    TestUtils.setField(txMgr, "fcrepoClient", mockClient);

    final TransactionTemplate transactionTemplate = new TransactionTemplate(txMgr);
    final DefaultTransactionDefinition txDef = new DefaultTransactionDefinition(
            TransactionDefinition.PROPAGATION_REQUIRED);

    transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    transactionTemplate.afterPropertiesSet();

    when(mockClient.post(eq(beginUri))).thenReturn(mockPostBuilder);
    when(mockClient.post(eq(commitUri))).thenReturn(mockPostBuilder2);
    when(mockPostBuilder.perform()).thenReturn(new FcrepoResponse(beginUri, 201,
            singletonMap("Location", singletonList(baseUrl + "/" + tx)), null));
    when(mockPostBuilder2.perform()).thenReturn(new FcrepoResponse(commitUri, 201, emptyMap(), null));

    DefaultTransactionStatus status = (DefaultTransactionStatus) txMgr.getTransaction(txDef);
    FcrepoTransactionObject txObj = (FcrepoTransactionObject) status.getTransaction();

    assertEquals(tx, txObj.getSessionId());
    assertFalse(status.isCompleted());

    status = (DefaultTransactionStatus) txMgr.getTransaction(txDef);

    txMgr.commit(status);

    txObj = (FcrepoTransactionObject) status.getTransaction();

    assertNull(txObj.getSessionId());
    assertTrue(status.isCompleted());
}