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

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

Introduction

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

Prototype

TransactionCallbackWithoutResult

Source Link

Usage

From source file:com.formkiq.core.equifax.service.EquifaxServiceImpl.java

/**
 * Save Equifax Response.//from w w w  .  j  a  v  a  2s .c  o  m
 * @param cc {@link EquifaxCreditCheck}
 */
private void saveResponse(final EquifaxCreditCheck cc) {

    TransactionTemplate transactionTemplate = new TransactionTemplate(this.transactionManager);

    transactionTemplate.execute(new TransactionCallbackWithoutResult() {
        @Override
        protected void doInTransactionWithoutResult(final TransactionStatus status) {
            EquifaxServiceImpl.this.em
                    .createNativeQuery("insert into equifax_credit_checks"
                            + "(equifax_credit_check_id, url, request, response, "
                            + "request_type,requester, inserted_date) "
                            + "values (:id,:url,:req,:resp,:type,:requester,:date)")
                    .setParameter("id", UUID.fromString(cc.getCreditcheckid())).setParameter("url", cc.getUrl())
                    .setParameter("req", cc.getRequest()).setParameter("resp", cc.getResponse())
                    .setParameter("type", cc.getRequesttype().name())
                    .setParameter("requester", cc.getRequester()).setParameter("date", new Date())
                    .executeUpdate();
        }
    });
}

From source file:com.serotonin.mango.db.dao.UserDao.java

public void saveUser(final User user) {
    getTransactionTemplate().execute(new TransactionCallbackWithoutResult() {
        @Override//from www  .  j  av a2 s  . co m
        protected void doInTransactionWithoutResult(TransactionStatus status) {
            if (user.getId() == Common.NEW_ID)
                insertUser(user);
            else
                updateUser(user);
        }
    });
}

From source file:net.latin.server.GwtBaseAction.java

/***************************************************************/

public String execute() throws Exception {

    try {//  w w w . j a  v  a2 s. c o m
        // Store the request & response objects in thread-local storage.
        //

        // save globals in the user thread local
        // (antes del readContent porque si falla doUnexpectedFailure()
        // espera que el response este seteado en UserContext)
        UserContext userContext = UserContext.getInstance();
        userContext.setRequest(request);
        userContext.setResponse(response);

        // Read the request fully.
        //
        String requestPayload = readContent(request);

        userContext.setRequestPayload(requestPayload);

        if (SpringUtils.useSpringPersistenceTemplates()) {
            /**
             * Execute the gwt method inside a spring transaction
             */
            SpringUtils.getTransactionTemplate().execute(new TransactionCallbackWithoutResult() {
                @Override
                protected void doInTransactionWithoutResult(TransactionStatus transactionStatus) {
                    try {

                        // save the transactionStatus in the ThreadLocal
                        UserContext.getInstance().setTransactionStatus(transactionStatus);

                        /**
                         * Process gwt method inside the transaction
                         */
                        executeGwtMethod();

                        // check for declared LnwTransactionException in
                        // session
                        HttpSession session = UserContext.getInstance().getRequest().getSession(false);
                        if (session != null) {
                            LnwTransactionException trEx = (LnwTransactionException) session
                                    .getAttribute(GwtUseCase.LNW_TRANSACTION_EXCEPTION_KEY);
                            // if it was loaded in session, rollback
                            // transaction (see LnwTransactionException
                            // class)
                            if (trEx != null) {
                                session.removeAttribute(GwtUseCase.LNW_TRANSACTION_EXCEPTION_KEY);
                                rollbackTransaction(transactionStatus);
                            }
                        }

                        // Catchs exceptions and rollback
                    } catch (Exception e) {
                        rollbackTransaction(transactionStatus);

                        // throws another exception, with the originial
                        // wrapped, to be catched by gwt
                        throw new RuntimeException(e);
                    }
                }
            });
        } else {
            /**
             * Process gwt method (and let the subclass determines if a
             * transaction handling is needed)
             */
            executeGwtMethod();
        }
    } catch (SocketException se) {
        // Vemos si no es que el cliente cerro el browser y se perdio la
        // conexion
        // antes de que termine de enviar todo el response.
        // Es burda, pero es la unica manera que encontre de detectar estos
        // casos.
        if (!se.getMessage().toLowerCase().contains("connection reset")) {
            throw se;
        }
    } catch (Throwable e) {
        // Give a subclass a chance to either handle the exception or
        // rethrow it
        doUnexpectedFailure(e);
    } finally {
        // null the thread-locals to avoid holding request/response
        //

        // clear user context
        UserContext.getInstance().clear();

    }

    // no forward requeried
    return null;
}

From source file:com._4dconcept.springframework.data.marklogic.datasource.DatabaseConnectorJtaTransactionTest.java

private void doTestJtaTransaction(final boolean rollback) throws Exception {
    if (rollback) {
        given(userTransaction.getStatus()).willReturn(Status.STATUS_NO_TRANSACTION, Status.STATUS_ACTIVE);
    } else {/*from   ww  w .  j  av a 2 s.  c o  m*/
        given(userTransaction.getStatus()).willReturn(Status.STATUS_NO_TRANSACTION, Status.STATUS_ACTIVE,
                Status.STATUS_ACTIVE);
    }

    JtaTransactionManager ptm = new JtaTransactionManager(userTransaction);
    TransactionTemplate tt = new TransactionTemplate(ptm);
    assertTrue("Hasn't thread session", !TransactionSynchronizationManager.hasResource(contentSource));
    assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

    tt.execute(new TransactionCallbackWithoutResult() {
        @Override
        protected void doInTransactionWithoutResult(TransactionStatus status) throws RuntimeException {
            assertTrue("Hasn't thread session", !TransactionSynchronizationManager.hasResource(contentSource));
            assertTrue("JTA synchronizations active",
                    TransactionSynchronizationManager.isSynchronizationActive());
            assertTrue("Is new transaction", status.isNewTransaction());

            Session c = ContentSourceUtils.getSession(contentSource);
            assertTrue("Has thread session", TransactionSynchronizationManager.hasResource(contentSource));
            ContentSourceUtils.releaseSession(c, contentSource);

            c = ContentSourceUtils.getSession(contentSource);
            assertTrue("Has thread session", TransactionSynchronizationManager.hasResource(contentSource));
            ContentSourceUtils.releaseSession(c, contentSource);

            if (rollback) {
                status.setRollbackOnly();
            }
        }
    });

    assertTrue("Hasn't thread session", !TransactionSynchronizationManager.hasResource(contentSource));
    assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());
    verify(userTransaction).begin();
    if (rollback) {
        verify(userTransaction).rollback();
    }
    verify(session).close();
}

From source file:com.mothsoft.alexis.engine.retrieval.TwitterRetrievalTaskImpl.java

private void handleSource(final TwitterSource twitterSource) {
    try {// w  w  w.ja  va 2 s  . co m
        this.transactionTemplate.execute(new TransactionCallbackWithoutResult() {

            @Override
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                handleSourceImpl(twitterSource);
            }
        });
    } catch (final Exception e) {
        throw new RuntimeException(e);
    }
}

From source file:com.thoughtworks.go.server.service.ScheduleServiceRescheduleHungJobsIntegrationTest.java

@Test
public void shouldNotRescheduleCancelledBuilds() throws SQLException {
    String agentId = "uuid";
    final Pipeline pipeline = instanceFactory.createPipelineInstance(evolveConfig,
            modifySomeFiles(evolveConfig), new DefaultSchedulingContext(DEFAULT_APPROVED_BY), "md5-test",
            new TimeProvider());
    dbHelper.savePipelineWithStagesAndMaterials(pipeline);
    buildAssignmentService.assignWorkToAgent(agent(new AgentConfig(agentId)));

    transactionTemplate.execute(new TransactionCallbackWithoutResult() {
        public void doInTransactionWithoutResult(TransactionStatus status) {
            stageService.cancelStage(stageOf(pipeline), null);
        }//from  w w  w . j a  v  a 2 s .co  m
    });

    scheduleService.rescheduleHungJobs();

    JobInstance reloaded = jobInstanceDao.buildByIdWithTransitions(buildOf(pipeline).getId());
    assertThat(reloaded.getState(), is(JobState.Completed));
    assertThat(reloaded.getResult(), is(JobResult.Cancelled));
}

From source file:org.inspektr.audit.support.JdbcAuditTrailManager.java

/** {@inheritDoc} */
public void clean() {
    this.transactionTemplate.execute(new TransactionCallbackWithoutResult() {
        protected void doInTransactionWithoutResult(final TransactionStatus transactionStatus) {
            final String sql = String.format(DELETE_SQL_TEMPLATE, tableName, cleanupCriteria);
            final List<?> params = cleanupCriteria.getParameterValues();
            JdbcAuditTrailManager.this.logger.info("Cleaning audit records with query " + sql);
            JdbcAuditTrailManager.this.logger.debug("Query parameters: " + params);
            final int count = getSimpleJdbcTemplate().update(sql, params.toArray());
            JdbcAuditTrailManager.this.logger.info(count + " records deleted.");
        }//from  w  ww. j a v  a  2s .  co m
    });
}

From source file:com.hs.mail.imap.user.DefaultUserManager.java

public void deleteUser(final long id) {
    getTransactionTemplate().execute(new TransactionCallbackWithoutResult() {
        public void doInTransactionWithoutResult(TransactionStatus status) {
            try {
                UserDao dao = DaoFactory.getUserDao();
                dao.deleteUser(id);//from w w  w  .  j a v  a2 s .co  m
                emptyMailboxes(id);
            } catch (DataAccessException ex) {
                status.setRollbackOnly();
                throw ex;
            }
        }
    });
}

From source file:org.pentaho.custom.authentication.provider.userroledao.hibernate.UserRoleDaoTransactionDecorator.java

public void updateRole(final IRole roleToUpdate) throws NotFoundException, UncategorizedUserRoleDaoException {
    transactionTemplate.execute(new TransactionCallbackWithoutResult() {
        protected void doInTransactionWithoutResult(TransactionStatus status) {
            userRoleDao.updateRole(roleToUpdate);
        }//from  ww  w  . ja  v a2s  . c om
    });
}

From source file:net.solarnetwork.node.dao.jdbc.JdbcSettingDao.java

@Override
public void storeSetting(final String key, final String type, final String value) {
    TransactionTemplate tt = getTransactionTemplate();
    if (tt != null) {
        tt.execute(new TransactionCallbackWithoutResult() {

            @Override//from  w  w w .j a v a  2  s  . co  m
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                storeSettingInternal(key, type, value, 0);
            }
        });
    } else {
        storeSettingInternal(key, type, value, 0);
    }
}