Example usage for org.springframework.transaction.support TransactionCallback TransactionCallback

List of usage examples for org.springframework.transaction.support TransactionCallback TransactionCallback

Introduction

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

Prototype

TransactionCallback

Source Link

Usage

From source file:org.iti.agrimarket.model.dao.ProductDAO.java

@Override
public int create(Product product) {
    return (int) transactionTemplate.execute(new TransactionCallback() {
        @Override// www.  ja  v  a  2s .c o  m
        public Object doInTransaction(TransactionStatus ts) {
            try {
                Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();

                session.persist(product);
                return product.getId();
            } catch (Exception e) {
                e.printStackTrace();
                ts.setRollbackOnly();
            }
            return -1;
        }
    });
}

From source file:net.chrisrichardson.bankingExample.domain.jpa.AccountPersistenceJpaTests.java

public void testSimple() {
    final Account account = AccountMother.makeAccountWithNoOverdraft(1.0);
    transactionTemplate.execute(new TransactionCallback() {

        public Object doInTransaction(TransactionStatus status) {
            entityManager.persist(account);
            return null;
        }//ww w  . j a va  2 s . c  o m
    });

    Account account2 = entityManager.find(Account.class, account.getId());
    assertNotNull(account2);
}

From source file:org.fireflow.pdl.bpel.TheSimplestTest.java

@Test
public void testStartProcess() {
    final WorkflowSession session = WorkflowSessionFactory.createWorkflowSession(runtimeContext,
            FireWorkflowSystem.getInstance());
    final WorkflowStatement stmt = session.createWorkflowStatement(PROCESS_TYPE);
    transactionTemplate.execute(new TransactionCallback() {
        public Object doInTransaction(TransactionStatus arg0) {

            // ?/*from   w  w  w. ja va 2 s .c o m*/
            BpelProcess process = new BpelProcess(processId);
            process.setStartActivity(new EmptyActivity("EmptyActivity_1"));

            // ??
            try {
                stmt.startProcess(process, null, null);

            } catch (InvalidModelException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (WorkflowProcessNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (InvalidOperationException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        }
    });
}

From source file:net.chrisrichardson.bankingExample.spring.MoneyTransferServiceIntegrationTests.java

private void assertBalance(final double expectedBalance, final String accountId) {
    transactionTemplate.execute(new TransactionCallback() {

        public Object doInTransaction(TransactionStatus status) {
            MoneyUtil.assertMoneyEquals(expectedBalance, repository.findAccount(accountId).getBalance());
            return null;
        }//from  ww w  .j ava2 s.  c  o m
    });
}

From source file:org.fireflow.pdl.bpel.SequenceTest.java

@Test
public void testStartProcess() {
    final WorkflowSession session = WorkflowSessionFactory.createWorkflowSession(runtimeContext,
            FireWorkflowSystem.getInstance());
    final WorkflowStatement stmt = session.createWorkflowStatement(PROCESS_TYPE);
    transactionTemplate.execute(new TransactionCallback() {
        public Object doInTransaction(TransactionStatus arg0) {
            //?/*  w  w w.j  a va 2s  . co m*/
            BpelProcess process = new BpelProcess(processId);
            process.setStartActivity((new Sequence("Sequence1")).addChild(new EmptyActivity("EmptyActivity_1"))
                    .addChild(new EmptyActivity("EmptyActivity_2")));

            //??
            try {
                stmt.startProcess(process, null, null);

            } catch (InvalidModelException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (WorkflowProcessNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (InvalidOperationException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        }
    });
}

From source file:org.iti.agrimarket.model.dao.UserRatesUserDAO.java

@Override
public void create(UserRatesUser userRatesUser) {
    transactionTemplate.execute(new TransactionCallback() {
        @Override//from w  ww.j  a  v  a2 s .  co m
        public Object doInTransaction(TransactionStatus ts) {
            try {
                Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();

                session.persist(userRatesUser);
            } catch (Exception e) {
                e.printStackTrace();
                ts.setRollbackOnly();
            }
            return null;
        }
    });
}

From source file:io.cloudslang.engine.queue.repositories.callbacks.AbstractCallback.java

@Override
public void doCallback(String previousTable, String activeTable) {
    if (logger.isDebugEnabled())
        logger.debug(getClass().getSimpleName() + ": process from " + previousTable + " to " + activeTable);

    final String sql = getSql(previousTable, activeTable);
    if (logger.isDebugEnabled())
        logger.debug(getClass().getSimpleName() + " Execute SQL: " + sql);
    try {/*from  w w w  .j a v  a2s.co m*/
        long t = System.currentTimeMillis();
        int numOfRows = transactionTemplate.execute(new TransactionCallback<Integer>() {
            @Override
            public Integer doInTransaction(TransactionStatus status) {
                return jdbcTemplate.update(sql);
            }
        });
        t = System.currentTimeMillis() - t;
        if (logger.isDebugEnabled())
            logger.debug(
                    getClass().getSimpleName() + ": " + numOfRows + " rows where processed in " + t + " ms");
        else if (t > TimeUnit.MINUTES.toMillis(1))
            logger.warn("Rolling between table " + previousTable + " to table " + activeTable + ", took :" + t
                    + " ms");
    } catch (DataAccessException ex) {
        logger.error(getClass().getSimpleName() + " failed to execute: " + sql, ex);
    }
}

From source file:org.iti.agrimarket.model.dao.CategoryDAO.java

@Override
public int create(Category category) {
    return (int) transactionTemplate.execute(new TransactionCallback() {
        @Override/* ww w .j a va 2s . c om*/
        public Object doInTransaction(TransactionStatus ts) {
            try {
                Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();

                session.persist(category);
                return category.getId();
            } catch (Exception e) {
                e.printStackTrace();
                ts.setRollbackOnly();
            }
            return -1;
        }
    });
}

From source file:net.chrisrichardson.bankingExample.domain.jpa.AccountRepositoryJpaTests.java

public void test() throws Exception {
    final Account account = AccountMother.makeAccountWithNoOverdraft(10.0);
    final String accountId = account.getAccountId();

    transactionTemplate.execute(new TransactionCallback() {

        public Object doInTransaction(TransactionStatus status) {
            repository.addAccount(account);
            return null;
        }//from   w w w  .ja v a 2  s .c  o  m
    });

    transactionTemplate.execute(new TransactionCallback() {

        public Object doInTransaction(TransactionStatus status) {
            Account account2 = repository.findAccount(accountId);
            assertNotNull(account2);
            return null;
        }
    });
}

From source file:com.vladmihalcea.service.impl.ProductServiceImpl.java

@Override
public Product newProduct() {
    return transactionTemplate.execute(new TransactionCallback<Product>() {
        @Override/*w  w w . ja v a 2  s  . c om*/
        public Product doInTransaction(TransactionStatus status) {

            Company company = new Company();
            company.setName("TV Company");
            entityManager.persist(company);

            Product product = new Product();
            product.setName("TV");
            product.setCompany(company);

            WarehouseProductInfo warehouseProductInfo = new WarehouseProductInfo();
            warehouseProductInfo.setQuantity(101);
            product.addWarehouse(warehouseProductInfo);

            entityManager.persist(product);
            entityManager.flush();
            return product;
        }
    });
}