List of usage examples for org.springframework.transaction.support TransactionCallbackWithoutResult TransactionCallbackWithoutResult
TransactionCallbackWithoutResult
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); } }