List of usage examples for org.springframework.transaction.support TransactionCallbackWithoutResult TransactionCallbackWithoutResult
TransactionCallbackWithoutResult
From source file:com.hp.avmon.config.service.AgentManageService.java
public void transfer(final String[] sqls) throws Exception { final String trasactionFlag = "0"; transactionTemplate.execute(new TransactionCallbackWithoutResult() { protected void doInTransactionWithoutResult(TransactionStatus status) { try { // JdbcTemplate batchUpdate? jdbcTemplate.batchUpdate(sqls); } catch (Exception e) { System.out.println("----------RuntimeException-----" + e); status.setRollbackOnly(); // }/* ww w. j av a 2s .co m*/ } }); }
From source file:database.DataLoader.java
private void moveAuthorReject() throws Exception { final String tableName = AUTHOR_REJECT; final ResultSet set = getFromOldBase(getSelectAll(tableName)); final List<AuthorReject> allList = authorRejectDao.getAll(); while (set.next()) { TransactionTemplate temp = new TransactionTemplate(transactionManager); temp.execute(new TransactionCallbackWithoutResult() { @Override/*from www . j ava 2 s . c om*/ protected void doInTransactionWithoutResult(TransactionStatus ts) { String st = ""; try { Long oldAuthorId = set.getLong("author_id"); Long oldOrderId = set.getLong("order_id"); Long newAuthorId = getNewId(oldAuthorId, USERS); Long newOrderId = getNewId(oldOrderId, ORDER); st = "oldAuth" + oldAuthorId + " oldOrd" + oldOrderId + " newAuth" + newAuthorId + " newOrd" + newOrderId; Author author = getAuthor(newAuthorId); Order order = getOrder(newOrderId); AuthorReject authorReject = new AuthorReject(); authorReject.setAuthor(author); authorReject.setOrder(order); if (!exist(allList, author, order)) { authorRejectDao.save(authorReject); } } catch (Exception e) { ts.setRollbackOnly(); addErrorMessage("moveAuthorReject: " + st + StringAdapter.getStackExeption(e)); log.warn("moveAuthorReject: " + st + StringAdapter.getStackExeption(e)); } } }); } }
From source file:nl.ordina.bag.etl.dao.AbstractBAGDAO.java
@Override public void update(final Verblijfsobject verblijfsobject) throws DAOException { try {/*ww w .j a v a 2 s . c om*/ transactionTemplate.execute(new TransactionCallbackWithoutResult() { @Override protected void doInTransactionWithoutResult(TransactionStatus status) { jdbcTemplate.update(new PreparedStatementCreator() { @Override public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement("update bag_verblijfsobject set" + " aanduiding_record_inactief = ?," + " officieel = ?," + " verblijfsobject_geometrie = ?," + " oppervlakte_verblijfsobject = ?," + " verblijfsobject_status = ?," + " einddatum_tijdvak_geldigheid = ?," + " in_onderzoek = ?," + " bron_documentdatum = ?," + " bron_documentnummer = ?," + " bag_nummeraanduiding_id = ?" + " where bag_verblijfsobject_id = ?" + " and aanduiding_record_correctie = ?" + " and begindatum_tijdvak_geldigheid = ?"); ps.setInt(1, verblijfsobject.getAanduidingRecordInactief().ordinal()); ps.setInt(2, verblijfsobject.getOfficieel().ordinal()); ps.setString(3, verblijfsobject.getVerblijfsobjectGeometrie()); ps.setInt(4, verblijfsobject.getOppervlakteVerblijfsobject()); ps.setInt(5, verblijfsobject.getVerblijfsobjectStatus().ordinal()); if (verblijfsobject.getEinddatumTijdvakGeldigheid() == null) ps.setNull(6, Types.TIMESTAMP); else ps.setTimestamp(6, new Timestamp(verblijfsobject.getEinddatumTijdvakGeldigheid().getTime())); ps.setInt(7, verblijfsobject.getInOnderzoek().ordinal()); ps.setDate(8, new Date(verblijfsobject.getDocumentdatum().getTime())); ps.setString(9, verblijfsobject.getDocumentnummer()); ps.setLong(10, verblijfsobject.getHoofdAdres()); ps.setLong(11, verblijfsobject.getIdentificatie()); ps.setLong(12, verblijfsobject.getAanduidingRecordCorrectie()); ps.setTimestamp(13, new Timestamp(verblijfsobject.getBegindatumTijdvakGeldigheid().getTime())); return ps; } }); deleteGebruikersdoelen(verblijfsobject); insertGebruikersdoelen(verblijfsobject); deleteNevenadressen(TypeAdresseerbaarObject.VERBLIJFSOBJECT, verblijfsobject); insertNevenadressen(TypeAdresseerbaarObject.VERBLIJFSOBJECT, verblijfsobject); deleteGerelateerdePanden(verblijfsobject); insertGerelateerdePanden(verblijfsobject); } }); } catch (DataAccessException e) { throw new DAOException("Error updating verblijfsobject: " + verblijfsobject.getIdentificatie(), e); } }
From source file:nl.ordina.bag.etl.dao.AbstractBAGDAO.java
@Override public void update(final Ligplaats ligplaats) throws DAOException { try {/*from w ww.j a va 2 s . com*/ transactionTemplate.execute(new TransactionCallbackWithoutResult() { @Override protected void doInTransactionWithoutResult(TransactionStatus status) { jdbcTemplate.update(new PreparedStatementCreator() { @Override public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement( "update bag_ligplaats set" + " aanduiding_record_inactief = ?," + " officieel = ?," + " ligplaats_status = ?," + " ligplaats_geometrie = ?," + " einddatum_tijdvak_geldigheid = ?," + " in_onderzoek = ?," + " bron_documentdatum = ?," + " bron_documentnummer = ?," + " bag_nummeraanduiding_id = ?" + " where bag_ligplaats_id = ?" + " and aanduiding_record_correctie = ?" + " and begindatum_tijdvak_geldigheid = ?"); ps.setInt(1, ligplaats.getAanduidingRecordInactief().ordinal()); ps.setInt(2, ligplaats.getOfficieel().ordinal()); ps.setInt(3, ligplaats.getLigplaatsStatus().ordinal()); ps.setString(4, ligplaats.getLigplaatsGeometrie()); if (ligplaats.getEinddatumTijdvakGeldigheid() == null) ps.setNull(5, Types.TIMESTAMP); else ps.setTimestamp(5, new Timestamp(ligplaats.getEinddatumTijdvakGeldigheid().getTime())); ps.setInt(6, ligplaats.getInOnderzoek().ordinal()); ps.setDate(7, new Date(ligplaats.getDocumentdatum().getTime())); ps.setString(8, ligplaats.getDocumentnummer()); ps.setLong(9, ligplaats.getHoofdAdres()); ps.setLong(10, ligplaats.getIdentificatie()); ps.setLong(11, ligplaats.getAanduidingRecordCorrectie()); ps.setTimestamp(12, new Timestamp(ligplaats.getBegindatumTijdvakGeldigheid().getTime())); return ps; } }); deleteNevenadressen(TypeAdresseerbaarObject.LIGPLAATS, ligplaats); insertNevenadressen(TypeAdresseerbaarObject.LIGPLAATS, ligplaats); } }); } catch (DataAccessException e) { throw new DAOException("Error updating ligplaats: " + ligplaats.getIdentificatie(), e); } }
From source file:nl.ordina.bag.etl.dao.AbstractBAGDAO.java
@Override public void update(final Standplaats standplaats) throws DAOException { try {//from w w w.ja v a 2 s .co m transactionTemplate.execute(new TransactionCallbackWithoutResult() { @Override protected void doInTransactionWithoutResult(TransactionStatus status) { jdbcTemplate.update(new PreparedStatementCreator() { @Override public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement("update bag_standplaats set" + " aanduiding_record_inactief = ?," + " officieel = ?," + " standplaats_status = ?," + " standplaats_geometrie = ?," + " einddatum_tijdvak_geldigheid = ?," + " in_onderzoek = ?," + " bron_documentdatum = ?," + " bron_documentnummer = ?," + " bag_nummeraanduiding_id = ?" + " where bag_standplaats_id = ?" + " and aanduiding_record_correctie = ?" + " and begindatum_tijdvak_geldigheid = ?"); ps.setInt(1, standplaats.getAanduidingRecordInactief().ordinal()); ps.setInt(2, standplaats.getOfficieel().ordinal()); ps.setInt(3, standplaats.getStandplaatsStatus().ordinal()); ps.setString(4, standplaats.getStandplaatsGeometrie()); if (standplaats.getEinddatumTijdvakGeldigheid() == null) ps.setNull(5, Types.TIMESTAMP); else ps.setTimestamp(5, new Timestamp(standplaats.getEinddatumTijdvakGeldigheid().getTime())); ps.setInt(6, standplaats.getInOnderzoek().ordinal()); ps.setDate(7, new Date(standplaats.getDocumentdatum().getTime())); ps.setString(8, standplaats.getDocumentnummer()); ps.setLong(9, standplaats.getHoofdAdres()); ps.setLong(10, standplaats.getIdentificatie()); ps.setLong(11, standplaats.getAanduidingRecordCorrectie()); ps.setTimestamp(12, new Timestamp(standplaats.getBegindatumTijdvakGeldigheid().getTime())); return ps; } }); deleteNevenadressen(TypeAdresseerbaarObject.STANDPLAATS, standplaats); insertNevenadressen(TypeAdresseerbaarObject.STANDPLAATS, standplaats); } }); } catch (DataAccessException e) { throw new DAOException("Error updating standplaats: " + standplaats.getIdentificatie(), e); } }
From source file:nl.ordina.bag.etl.dao.AbstractBAGDAO.java
@Override public void update(final Verblijfsobject origineel, final Verblijfsobject mutation) throws DAOException { try {//from w ww . j av a2 s .co m transactionTemplate.execute(new TransactionCallbackWithoutResult() { @Override protected void doInTransactionWithoutResult(TransactionStatus status) { jdbcTemplate.update(new PreparedStatementCreator() { @Override public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement("update bag_verblijfsobject set" + " aanduiding_record_inactief = ?," + " aanduiding_record_correctie = ?," + " officieel = ?," + " verblijfsobject_geometrie = ?," + " oppervlakte_verblijfsobject = ?," + " verblijfsobject_status = ?," + " einddatum_tijdvak_geldigheid = ?," + " in_onderzoek = ?," + " bron_documentdatum = ?," + " bron_documentnummer = ?," + " bag_nummeraanduiding_id = ?" + " where bag_verblijfsobject_id = ?" + " and aanduiding_record_correctie = ?" + " and begindatum_tijdvak_geldigheid = ?"); ps.setInt(1, mutation.getAanduidingRecordInactief().ordinal()); ps.setLong(2, mutation.getAanduidingRecordCorrectie()); ps.setInt(3, mutation.getOfficieel().ordinal()); ps.setString(4, mutation.getVerblijfsobjectGeometrie()); ps.setInt(5, mutation.getOppervlakteVerblijfsobject()); ps.setInt(6, mutation.getVerblijfsobjectStatus().ordinal()); if (mutation.getEinddatumTijdvakGeldigheid() == null) ps.setNull(7, Types.TIMESTAMP); else ps.setTimestamp(7, new Timestamp(mutation.getEinddatumTijdvakGeldigheid().getTime())); ps.setInt(8, mutation.getInOnderzoek().ordinal()); ps.setDate(9, new Date(mutation.getDocumentdatum().getTime())); ps.setString(10, mutation.getDocumentnummer()); ps.setLong(11, mutation.getHoofdAdres()); ps.setLong(12, origineel.getIdentificatie()); ps.setLong(13, origineel.getAanduidingRecordCorrectie()); ps.setTimestamp(14, new Timestamp(origineel.getBegindatumTijdvakGeldigheid().getTime())); return ps; } }); deleteGebruikersdoelen(origineel); insertGebruikersdoelen(mutation); deleteNevenadressen(TypeAdresseerbaarObject.VERBLIJFSOBJECT, origineel); insertNevenadressen(TypeAdresseerbaarObject.VERBLIJFSOBJECT, mutation); deleteGerelateerdePanden(origineel); insertGerelateerdePanden(mutation); } }); } catch (DataAccessException e) { throw new DAOException("Error updating verblijfsobject: " + origineel.getIdentificatie(), e); } }
From source file:nl.ordina.bag.etl.dao.AbstractBAGDAO.java
@Override public void update(final Ligplaats origineel, final Ligplaats mutation) throws DAOException { try {/*from ww w.j a va 2 s . c o m*/ transactionTemplate.execute(new TransactionCallbackWithoutResult() { @Override protected void doInTransactionWithoutResult(TransactionStatus status) { jdbcTemplate.update(new PreparedStatementCreator() { @Override public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement("update bag_ligplaats set" + " aanduiding_record_inactief = ?," + " aanduiding_record_correctie = ?," + " officieel = ?," + " ligplaats_status = ?," + " ligplaats_geometrie = ?," + " einddatum_tijdvak_geldigheid = ?," + " in_onderzoek = ?," + " bron_documentdatum = ?," + " bron_documentnummer = ?," + " bag_nummeraanduiding_id = ?" + " where bag_ligplaats_id = ?" + " and aanduiding_record_correctie = ?" + " and begindatum_tijdvak_geldigheid = ?"); ps.setInt(1, mutation.getAanduidingRecordInactief().ordinal()); ps.setLong(2, mutation.getAanduidingRecordCorrectie()); ps.setInt(3, mutation.getOfficieel().ordinal()); ps.setInt(4, mutation.getLigplaatsStatus().ordinal()); ps.setString(5, mutation.getLigplaatsGeometrie()); if (mutation.getEinddatumTijdvakGeldigheid() == null) ps.setNull(6, Types.TIMESTAMP); else ps.setTimestamp(6, new Timestamp(mutation.getEinddatumTijdvakGeldigheid().getTime())); ps.setInt(7, mutation.getInOnderzoek().ordinal()); ps.setDate(8, new Date(mutation.getDocumentdatum().getTime())); ps.setString(9, mutation.getDocumentnummer()); ps.setLong(10, mutation.getHoofdAdres()); ps.setLong(11, origineel.getIdentificatie()); ps.setLong(12, origineel.getAanduidingRecordCorrectie()); ps.setTimestamp(13, new Timestamp(origineel.getBegindatumTijdvakGeldigheid().getTime())); return ps; } }); deleteNevenadressen(TypeAdresseerbaarObject.LIGPLAATS, origineel); insertNevenadressen(TypeAdresseerbaarObject.LIGPLAATS, mutation); } }); } catch (DataAccessException e) { throw new DAOException("Error updating ligplaats: " + origineel.getIdentificatie(), e); } }
From source file:nl.ordina.bag.etl.dao.AbstractBAGDAO.java
@Override public void update(final Standplaats origineel, final Standplaats mutation) throws DAOException { try {//from w w w. ja v a 2 s. co m transactionTemplate.execute(new TransactionCallbackWithoutResult() { @Override protected void doInTransactionWithoutResult(TransactionStatus status) { jdbcTemplate.update(new PreparedStatementCreator() { @Override public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement("update bag_standplaats set" + " aanduiding_record_inactief = ?," + " aanduiding_record_correctie = ?," + " officieel = ?," + " standplaats_status = ?," + " standplaats_geometrie = ?," + " einddatum_tijdvak_geldigheid = ?," + " in_onderzoek = ?," + " bron_documentdatum = ?," + " bron_documentnummer = ?," + " bag_nummeraanduiding_id = ?" + " where bag_standplaats_id = ?" + " and aanduiding_record_correctie = ?" + " and begindatum_tijdvak_geldigheid = ?"); ps.setInt(1, mutation.getAanduidingRecordInactief().ordinal()); ps.setLong(2, mutation.getAanduidingRecordCorrectie()); ps.setInt(3, mutation.getOfficieel().ordinal()); ps.setInt(4, mutation.getStandplaatsStatus().ordinal()); ps.setString(5, mutation.getStandplaatsGeometrie()); if (mutation.getEinddatumTijdvakGeldigheid() == null) ps.setNull(6, Types.TIMESTAMP); else ps.setTimestamp(6, new Timestamp(mutation.getEinddatumTijdvakGeldigheid().getTime())); ps.setInt(7, mutation.getInOnderzoek().ordinal()); ps.setDate(8, new Date(mutation.getDocumentdatum().getTime())); ps.setString(9, mutation.getDocumentnummer()); ps.setLong(10, mutation.getHoofdAdres()); ps.setLong(11, origineel.getIdentificatie()); ps.setLong(12, origineel.getAanduidingRecordCorrectie()); ps.setTimestamp(13, new Timestamp(origineel.getBegindatumTijdvakGeldigheid().getTime())); return ps; } }); deleteNevenadressen(TypeAdresseerbaarObject.STANDPLAATS, origineel); insertNevenadressen(TypeAdresseerbaarObject.STANDPLAATS, mutation); } }); } catch (DataAccessException e) { throw new DAOException("Error updating standplaats: " + origineel.getIdentificatie(), e); } }
From source file:nl.strohalm.cyclos.services.transactions.PaymentServiceImpl.java
/** * Insert a transfer and it's generated fees * @param simulation/*from w w w.j a va 2 s. c o m*/ */ private Transfer insertTransferAndPayFees(final LockHandler lockHandler, Transfer transfer, final boolean forced, final boolean simulation, final Set<ChargedFee> chargedFees) { final TransferType transferType = transfer.getType(); final Collection<PaymentCustomFieldValue> customValues = transfer.getCustomValues(); final Account fromAccount = transfer.getFrom(); final Account toAccount = transfer.getTo(); if (fromAccount.equals(toAccount)) { throw new ValidationException("payment.error.sameFromAntToInFee"); } if (applicationService.getLockedAccountsOnPayments() == LockedAccountsOnPayments.ALL) { lockHandler.lock(fromAccount, toAccount); } final AccountOwner from = fromAccount.getOwner(); final AccountOwner to = toAccount.getOwner(); // Preview fees to determine the deducted amount final BigDecimal originalAmount = transfer.getAmount(); final TransactionFeePreviewDTO preview = transactionFeeService.preview(from, to, transferType, transfer.getAmount()); transfer.setAmount(preview.getFinalAmount()); final Collection<TransferListener> listeners = getTransferListeners(transfer); // validate parent amount if (!forced) { // Notify any registered listener before validating the amount if (!simulation) { for (final TransferListener listener : listeners) { listener.onBeforeValidateBalance(transfer); } } validateAmount(transfer.getAmount(), fromAccount, toAccount, transfer); } transfer.setCustomValues(null); // apply rates, but NOT on inserting authorized payments RatesToSave rates = new RatesToSave(); if (transfer.getProcessDate() != null) { rates = rateService.applyTransfer(transfer); transfer.setEmissionDate(rates.getEmissionDate()); transfer.setExpirationDate(rates.getExpirationDate()); transfer.setiRate(rates.getiRate()); } // insert transfer transfer = transferDao.insert(transfer); // now we have the tranfers' id, we can persist rate info: rateService.persist(rates); final TransactionNumber transactionNumber = settingsService.getLocalSettings().getTransactionNumber(); if (transactionNumber != null && transactionNumber.isValid()) { final String generated = transactionNumber.generate(transfer.getId(), transfer.getDate()); transferDao.updateTransactionNumber(transfer.getId(), generated); } transfer.setCustomValues(customValues); paymentCustomFieldService.saveValues(transfer); if (transfer.getProcessDate() == null) { // Reserve the amount if pending authorization accountService.reservePending(transfer); } else { // Make sure no closed balances exist after the payment. This works both for payments in past and to fix eventual future closed balances accountService.removeClosedBalancesAfter(transfer.getFrom(), transfer.getProcessDate()); accountService.removeClosedBalancesAfter(transfer.getTo(), transfer.getProcessDate()); } // Notify any registered listener after inserting the transfer if (!simulation) { for (TransferListener listener : listeners) { listener.onTransferInserted(transfer); } } // Log this transfer if the transaction succeeds final Transfer toLog = transfer; CurrentTransactionData.addTransactionCommitListener(new TransactionCommitListener() { @Override public void onTransactionCommit() { loggingHandler.logTransfer(toLog); // Notify the registered listeners if the transfer is processed if (!simulation && toLog.getProcessDate() != null && !listeners.isEmpty()) { transactionHelper.runInCurrentThread(new TransactionCallbackWithoutResult() { @Override protected void doInTransactionWithoutResult(final TransactionStatus status) { Transfer fetchedTransfer = fetchService.fetch(toLog, Payment.Relationships.FROM, Payment.Relationships.TO); for (TransferListener listener : listeners) { try { listener.onTransferProcessed(fetchedTransfer); } catch (Exception e) { LOG.warn("Error running TransferListener " + listener, e); } } } }); } } }); insertFees(lockHandler, transfer, forced, originalAmount, simulation, chargedFees); return transfer; }
From source file:nl.strohalm.cyclos.http.BaseWebServiceTransactionFilter.java
@Override protected void execute(final HttpServletRequest request, final HttpServletResponse response, final FilterChain chain) throws IOException, ServletException { // Run the request in a new transaction try {//from ww w. j ava2s. c o m transactionHelper.runInCurrentThread(new TransactionCallbackWithoutResult() { @Override protected void doInTransactionWithoutResult(final TransactionStatus status) { // When debug is enabled, log the transaction begin and add a listener for transaction end log prepareDebugLog(); // Execute the workflow try { onBeforeRunInTransaction(request, response); doRunInTransaction(request, response, chain, status); } catch (final Throwable t) { try { onError(request, response, t); } catch (final IOException e) { throw new NestableRuntimeException(e); } } finally { try { onTransactionEnd(request, response); } catch (final IOException e) { throw new NestableRuntimeException(e); } } } }); } catch (final NestableRuntimeException e) { final Throwable cause = e.getCause(); if (cause instanceof IOException) { throw (IOException) cause; } if (cause instanceof ServletException) { throw (ServletException) cause; } throw e; } finally { // Cleanup the thread locals WebServiceContext.cleanup(); LoggedUser.cleanup(); } }