Example usage for org.springframework.transaction.support DefaultTransactionStatus getTransaction

List of usage examples for org.springframework.transaction.support DefaultTransactionStatus getTransaction

Introduction

In this page you can find the example usage for org.springframework.transaction.support DefaultTransactionStatus getTransaction.

Prototype

public Object getTransaction() 

Source Link

Document

Return the underlying transaction object.

Usage

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

@Override
protected void doRollback(final DefaultTransactionStatus status) {
    final FcrepoTransactionObject tx = (FcrepoTransactionObject) status.getTransaction();

    try {//  ww w .  j  av a2 s  .co  m
        getClient().post(URI.create(baseUrl + "/" + tx.getSessionId() + ROLLBACK)).perform();
    } catch (final FcrepoOperationFailedException ex) {
        LOGGER.debug("Transaction rollback failed: ", ex);
        throw new TransactionSystemException("Could not rollback fcrepo transaction");
    } finally {
        tx.setSessionId(null);
    }
}

From source file:org.topazproject.otm.spring.OtmTransactionManager.java

@Override
protected void doSetRollbackOnly(DefaultTransactionStatus status) throws TransactionException {
    TransactionObject txObj = (TransactionObject) status.getTransaction();
    try {//  w  w w  . j a  va2  s . co m
        txObj.setRollbackOnly();
    } catch (OtmException oe) {
        throw new TransactionSystemException("error setting rollback-only", oe);
    }
}

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

@Override
protected void doCommit(final DefaultTransactionStatus status) {
    final FcrepoTransactionObject tx = (FcrepoTransactionObject) status.getTransaction();
    final InputStream is = null;
    final String contentType = null;

    try {//from  ww  w . java2 s . co  m
        getClient().post(URI.create(baseUrl + "/" + tx.getSessionId() + COMMIT)).body(is, contentType)
                .perform();
    } catch (final FcrepoOperationFailedException ex) {
        LOGGER.debug("Transaction commit failed: ", ex);
        throw new TransactionSystemException("Could not commit fcrepo transaction");
    } finally {
        tx.setSessionId(null);
    }
}

From source file:org.topazproject.otm.spring.OtmTransactionManager.java

@Override
public void doCommit(DefaultTransactionStatus status) throws TransactionException {
    TransactionObject txObj = (TransactionObject) status.getTransaction();

    Transaction tx = txObj.getSession().getTransaction();
    if (tx == null)
        throw new TransactionUsageException("no transaction active");

    try {//from www.ja  va  2s  . co  m
        tx.commit();
    } catch (OtmException oe) {
        throw new TransactionSystemException("error committing transaction", oe);
    } finally {
        if (txObj.savedFlushMode != null)
            txObj.getSession().setFlushMode(txObj.savedFlushMode);
    }
}

From source file:org.topazproject.otm.spring.OtmTransactionManager.java

@Override
public void doRollback(DefaultTransactionStatus status) throws TransactionException {
    TransactionObject txObj = (TransactionObject) status.getTransaction();

    Transaction tx = txObj.getSession().getTransaction();
    if (tx == null)
        throw new TransactionUsageException("no transaction active");

    try {/*w  w  w  . j  a  va 2 s .c o m*/
        tx.rollback();
    } catch (OtmException oe) {
        throw new TransactionSystemException("error rolling back transaction", oe);
    } finally {
        if (clearSessionOnRB)
            txObj.getSession().clear();
        if (txObj.savedFlushMode != null)
            txObj.getSession().setFlushMode(txObj.savedFlushMode);
    }
}

From source file:com.turbospaces.spaces.tx.SpaceTransactionManager.java

/**
 * synchronize transaction (either commit or rollback)
 * /*from  w w  w . j  ava2 s. co m*/
 * @param status
 * @param commit
 */
private void sync(final DefaultTransactionStatus status, final boolean commit) {
    Object modificationContext = null;
    SpaceTransactionObject txObject = (SpaceTransactionObject) status.getTransaction();
    txObject.flush();
    SpaceTransactionHolder transactionHolder = txObject.getSpaceTransactionHolder();
    modificationContext = transactionHolder.getModificationContext();
    if (!proxyMode) {
        TransactionModificationContext c = (TransactionModificationContext) modificationContext;
        if (c.isDirty())
            getResourceFactory().syncTx(c, commit);
    } else {
        TransactionModificationContextProxy c = (TransactionModificationContextProxy) modificationContext;
        if (c.isDirty())
            getResourceFactory().syncTx(c, commit);
    }
}

From source file:org.springextensions.neodatis.NeoDatisTransactionManager.java

@Override
protected void doSetRollbackOnly(DefaultTransactionStatus status) throws TransactionException {
    NeoDatisTransactionObject transactionObject = (NeoDatisTransactionObject) status.getTransaction();
    logger.debug("Setting NeoDatis transaction on ODB [{}] to rollback only.",
            transactionObject.getODBHolder().getOdb());
    transactionObject.setRollbackOnly();
}

From source file:com.alibaba.cobar.client.transaction.MultipleDataSourcesTransactionManager.java

@Override
protected void doRollback(DefaultTransactionStatus status) throws TransactionException {
    @SuppressWarnings("unchecked")
    List<DefaultTransactionStatus> list = (List<DefaultTransactionStatus>) status.getTransaction();

    logger.info("prepare to rollback transactions on multiple data sources.");
    Validate.isTrue(list.size() <= this.getTransactionManagers().size());

    TransactionException lastException = null;
    for (int i = list.size() - 1; i >= 0; i--) {
        PlatformTransactionManager transactionManager = this.getTransactionManagers().get(i);
        TransactionStatus localTransactionStatus = list.get(i);

        try {/*from  w  w w .  j a va2  s  .  co  m*/
            transactionManager.rollback(localTransactionStatus);
        } catch (TransactionException e) {
            // Log exception and try to complete rollback
            lastException = e;
            logger.error("error occured when rolling back the transaction. \n{}", e);
        }
    }

    if (lastException != null) {
        throw lastException;
    }
}

From source file:com.alibaba.cobar.client.transaction.MultipleDataSourcesTransactionManager.java

@Override
protected void doCommit(DefaultTransactionStatus status) throws TransactionException {
    @SuppressWarnings("unchecked")
    List<DefaultTransactionStatus> list = (List<DefaultTransactionStatus>) status.getTransaction();

    logger.info("prepare to commit transactions on multiple data sources.");
    Validate.isTrue(list.size() <= this.getTransactionManagers().size());

    TransactionException lastException = null;
    for (int i = list.size() - 1; i >= 0; i--) {
        PlatformTransactionManager transactionManager = this.getTransactionManagers().get(i);
        TransactionStatus localTransactionStatus = list.get(i);

        try {/*from  ww  w .  j  av a 2 s .  com*/
            transactionManager.commit(localTransactionStatus);
        } catch (TransactionException e) {
            lastException = e;
            logger.error("Error in commit", e);

        }
    }
    if (lastException != null) {
        throw lastException;
        // Rollback will ensue as long as rollbackOnCommitFailure=true
    }

}

From source file:org.springextensions.neodatis.NeoDatisTransactionManager.java

@Override
protected void doCommit(DefaultTransactionStatus transactionStatus) throws TransactionException {
    NeoDatisTransactionObject transactionObject = (NeoDatisTransactionObject) transactionStatus
            .getTransaction();//from   w  ww  .j  a va2 s .  c o  m
    logger.debug("Committing NeoDatis transaction on ODB [{}]", transactionObject.getODBHolder().getOdb());
    try {
        transactionObject.getODBHolder().getOdb().commit();
    } catch (Exception e) {
        throw new TransactionSystemException("Could not commit NeoDatis transaction.", e);
    }
}