Example usage for org.springframework.transaction.annotation Propagation REQUIRES_NEW

List of usage examples for org.springframework.transaction.annotation Propagation REQUIRES_NEW

Introduction

In this page you can find the example usage for org.springframework.transaction.annotation Propagation REQUIRES_NEW.

Prototype

Propagation REQUIRES_NEW

To view the source code for org.springframework.transaction.annotation Propagation REQUIRES_NEW.

Click Source Link

Document

Create a new transaction, and suspend the current transaction if one exists.

Usage

From source file:org.openwms.wms.shipping.ShippingOrderStarter.java

@Transactional(propagation = Propagation.REQUIRES_NEW)
// @Scheduled(fixedDelay = 1000)
public void timeTriggered() {
    if (LOGGER.isDebugEnabled()) {
        LOGGER.debug("Timeout elapsed. Trying to allocate ShippingOrderPositions");
    }/*from w ww  . j av a  2s. c  om*/
    allocateOrders();
}

From source file:org.brekka.pegasus.core.services.impl.EventServiceImpl.java

@Override
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void completeEvent(final FileDownloadEvent event) {
    event.setCompleted(new Date());
    populate(event);//from   ww  w. j a  va  2  s .  c  om
    fileDownloadEventDAO.update(event);
}

From source file:es.emergya.bbdd.dao.UsuarioHome.java

@SuppressWarnings("unchecked")
@Transactional(readOnly = true, rollbackFor = Throwable.class, propagation = Propagation.REQUIRES_NEW)
public List<Usuario> getAll(String order, boolean asc) {
    List<Usuario> res = new ArrayList<Usuario>(0);
    org.hibernate.Session currentSession = getSession();
    currentSession.clear();//from  w w w . ja va 2s . c o  m
    if (asc)
        res = currentSession.createCriteria(Usuario.class).addOrder(Order.asc("order"))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
    else
        res = currentSession.createCriteria(Usuario.class).addOrder(Order.desc("order"))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();

    return res;
}

From source file:org.brekka.pegasus.core.services.impl.AbstractEMailSendingService.java

@Override
@Transactional(propagation = Propagation.REQUIRES_NEW)
public EMailMessage send(final Collection<String> recipients, String sender, final String subject,
        final String plainBody, final String htmlBody, final List<Attachment> attachments,
        final KeySafe<?> keySafe) {
    if (sender == null) {
        sender = getDefaultSourceAddress();
    }/*from  www .j  av  a2  s.co m*/

    Member member = null;
    MemberContext current = this.memberService.getCurrent();
    if (current != null) {
        member = current.getMember();
    }

    EMailMessage message = new EMailMessage();
    message.setId(UUID.randomUUID());
    message.setOwner(member);
    message.setSender(toAddress(sender));

    List<EMailRecipient> eMailRecipientList = new ArrayList<>();

    for (String recipient : recipients) {
        EMailRecipient eMailRecipient = new EMailRecipient();
        eMailRecipient.setAddress(toAddress(recipient));
        eMailRecipient.setMessage(message);
        eMailRecipientList.add(eMailRecipient);
    }
    message.setRecipients(eMailRecipientList);

    EMailMessageDocument document = EMailMessageDocument.Factory.newInstance();
    EMailMessageType eMailMessage = document.addNewEMailMessage();
    EMailType senderXml = eMailMessage.addNewSender();
    populateAddress(senderXml, message.getSender());
    for (EMailRecipient eMailRecipient : eMailRecipientList) {
        eMailRecipient.setId(UUID.randomUUID());
        EMailType recipientXml = eMailMessage.addNewRecipient();
        populateAddress(recipientXml, eMailRecipient.getAddress());
    }
    if (StringUtils.isNotBlank(plainBody)) {
        Content content = eMailMessage.addNewContent();
        content.setType(Content.Type.PLAIN);
        content.setStringValue(plainBody);
    }
    if (StringUtils.isNotBlank(htmlBody)) {
        Content content = eMailMessage.addNewContent();
        content.setType(Content.Type.HTML);
        content.setStringValue(htmlBody);
    }
    eMailMessage.setSubject(subject);
    eMailMessage.setUUID(message.getId().toString());
    for (Attachment attachment : attachments) {
        FileType fileType = eMailMessage.addNewAttachment();
        fileType.setName(attachment.getName());
        fileType.setLength(attachment.getLength());
        fileType.setMimeType(attachment.getContentType());
        fileType.setUUID(UUID.randomUUID().toString());
    }

    XmlEntity<EMailMessageDocument> xml;
    if (keySafe == null) {
        xml = this.xmlEntityService.persistPlainEntity(document, false);
    } else {
        xml = this.xmlEntityService.persistEncryptedEntity(document, keySafe, false);
    }

    message.setXml(xml);

    // We will record who the mail should have gone to, but we'll remove any recipient we don't actually want to send to here.
    List<String> filteredRecipients = new ArrayList<>();
    for (String recipient : recipients) {
        if (acceptDeliveryRecipient(recipient)) {
            filteredRecipients.add(recipient);
        }
    }

    try {
        String reference = sendInternal(filteredRecipients, sender, subject, plainBody, htmlBody, attachments);
        message.setReference(reference);
    } catch (DataAccessException e) {
        log.error(String.format("Failed to send E-Mail '%s'", message.getId()), e);
    }
    this.eMailMessageDAO.create(message);
    return message;
}

From source file:es.emergya.bbdd.dao.HistoricoGPSHome.java

@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true, rollbackFor = Throwable.class)
public HistoricoGPS lastGPSForRecurso(Recurso r) {
    if (r == null)
        return null;

    try {/* w w  w. j av  a2s.  c om*/

        Session currentSession = getSession();
        currentSession.flush();
        currentSession.refresh(r);
        if (r.getHistoricoGps() != null) {
            r.getHistoricoGps().getPosX();
            return r.getHistoricoGps();
        }
    } catch (Throwable t) {
    }

    return lastGPSForRecurso(r.getIdentificador());
}

From source file:be.peerassistedlearning.repository.LessonRepositoryTest.java

@Test
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void testGetAll() {
    lessonRepository.save(l1);/*from  w  w  w.  j  av  a  2  s. c  om*/
    lessonRepository.save(l2);

    assertNotNull(l1.getId());
    assertNotNull(l2.getId());

    Collection<Lesson> list = Utils.makeCollection(lessonRepository.findAll());

    assertNotNull(list);
    assertEquals(2, list.size());
}

From source file:org.motechproject.mobile.omp.service.SMSMessagingServiceWorkerImpl.java

@Transactional(propagation = Propagation.REQUIRES_NEW)
public void updateMessageStatus(GatewayResponse response) {
    if (response != null) {
        response.setResponseText(getGatewayManager().getMessageStatus(response));
        response.setMessageStatus(getGatewayManager().mapMessageStatus(response));

        getCache().saveResponse(response);
    }//from   w ww.j  a  v  a2s .  c o m
}

From source file:architecture.ee.web.logo.DefaultLogoManager.java

@Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW)
public void removeLogoImage(LogoImage logoImage) throws LogoImageNotFoundException {
    if (logoImage.getLogoId() > 1) {
        // clear cache
        List<Long> list = getLogoImageIdList(logoImage.getObjectType(), logoImage.getObjectId());
        for (Long logoImageId : list) {
            this.logoImageCache.remove(logoImageId);
        }/*from   w w w .j a  v a 2  s.co m*/
        this.logoImageIdsCache
                .remove(getLogoImageIdListCacheKey(logoImage.getObjectType(), logoImage.getObjectId()));
        logoImageDao.removeLogoImage(logoImage);
        deleteImageFileCache(logoImage);
    }
}

From source file:es.emergya.bbdd.dao.PatrullaHome.java

@SuppressWarnings("unchecked")
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true, rollbackFor = Throwable.class)
public List<Patrulla> getAll() {
    List<Patrulla> res = new ArrayList<Patrulla>(0);
    try {/*  w w  w  .  ja v  a 2  s .c o m*/
        Session currentSession = getSession();
        currentSession.clear();
        res = currentSession.createCriteria(Patrulla.class).addOrder(Order.asc("nombre"))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
    } catch (Throwable e) {
        log.error(e, e);
    }

    return res;
}

From source file:be.peerassistedlearning.repository.ReviewRepositoryTest.java

@Test
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void testUpdate() {
    Review review = new Review(text, s1, l, 5, 5, 5, 5, false);

    reviewRepository.save(review);/*from  ww w .  j  ava2  s  .  c om*/

    review.setAtmosphereScore(10);

    reviewRepository.save(review);

    Review updated = reviewRepository.findOne(review.getId());

    assertEquals(review, updated);
}