@Override public MessageBuilder<T> setSequenceNumber(Integer sequenceNumber) { super.setSequenceNumber(sequenceNumber); return this; }
public AbstractIntegrationMessageBuilder<T> popSequenceDetails() { List<List<Object>> incomingSequenceDetails = getSequenceDetails(); if (incomingSequenceDetails == null) { return this; } else { incomingSequenceDetails = new ArrayList<>(incomingSequenceDetails); } List<Object> sequenceDetails = incomingSequenceDetails.remove(incomingSequenceDetails.size() - 1); Assert.state(sequenceDetails.size() == 3, "Wrong sequence details (not created by MessageBuilder?): " + sequenceDetails); setCorrelationId(sequenceDetails.get(0)); Integer sequenceNumber = (Integer) sequenceDetails.get(1); Integer sequenceSize = (Integer) sequenceDetails.get(2); if (sequenceNumber != null) { setSequenceNumber(sequenceNumber); } if (sequenceSize != null) { setSequenceSize(sequenceSize); } if (!incomingSequenceDetails.isEmpty()) { setHeader(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS, incomingSequenceDetails); } else { removeHeader(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS); } return this; }
public AbstractIntegrationMessageBuilder<T> pushSequenceDetails(Object correlationId, int sequenceNumber, int sequenceSize) { Object incomingCorrelationId = this.getCorrelationId(); List<List<Object>> incomingSequenceDetails = getSequenceDetails(); if (incomingCorrelationId != null) { if (incomingSequenceDetails == null) { incomingSequenceDetails = new ArrayList<>(); } else { incomingSequenceDetails = new ArrayList<>(incomingSequenceDetails); } incomingSequenceDetails.add(Arrays.asList(incomingCorrelationId, getSequenceNumber(), getSequenceSize())); incomingSequenceDetails = Collections.unmodifiableList(incomingSequenceDetails); } if (incomingSequenceDetails != null) { setHeader(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS, incomingSequenceDetails); } return setCorrelationId(correlationId) .setSequenceNumber(sequenceNumber) .setSequenceSize(sequenceSize); }
@Override public MessageBuilder<T> setSequenceNumber(Integer sequenceNumber) { super.setSequenceNumber(sequenceNumber); return this; }
Message<?> message1 = MutableMessageBuilder.withPayload("test") .setCorrelationId(1) .setSequenceNumber(1) .setSequenceSize(2) .copyHeadersIfAbsent(headers1) message2 = MutableMessageBuilder.withPayload("test") .setCorrelationId(1) .setSequenceNumber(2) .setSequenceSize(2) .copyHeadersIfAbsent(headers2)
public AbstractIntegrationMessageBuilder<T> popSequenceDetails() { List<List<Object>> incomingSequenceDetails = getSequenceDetails(); if (incomingSequenceDetails == null) { return this; } else { incomingSequenceDetails = new ArrayList<>(incomingSequenceDetails); } List<Object> sequenceDetails = incomingSequenceDetails.remove(incomingSequenceDetails.size() - 1); Assert.state(sequenceDetails.size() == 3, "Wrong sequence details (not created by MessageBuilder?): " + sequenceDetails); setCorrelationId(sequenceDetails.get(0)); Integer sequenceNumber = (Integer) sequenceDetails.get(1); Integer sequenceSize = (Integer) sequenceDetails.get(2); if (sequenceNumber != null) { setSequenceNumber(sequenceNumber); } if (sequenceSize != null) { setSequenceSize(sequenceSize); } if (!incomingSequenceDetails.isEmpty()) { setHeader(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS, incomingSequenceDetails); } else { removeHeader(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS); } return this; }
public AbstractIntegrationMessageBuilder<T> pushSequenceDetails(Object correlationId, int sequenceNumber, int sequenceSize) { Object incomingCorrelationId = this.getCorrelationId(); List<List<Object>> incomingSequenceDetails = getSequenceDetails(); if (incomingCorrelationId != null) { if (incomingSequenceDetails == null) { incomingSequenceDetails = new ArrayList<>(); } else { incomingSequenceDetails = new ArrayList<>(incomingSequenceDetails); } incomingSequenceDetails.add(Arrays.asList(incomingCorrelationId, getSequenceNumber(), getSequenceSize())); incomingSequenceDetails = Collections.unmodifiableList(incomingSequenceDetails); } if (incomingSequenceDetails != null) { setHeader(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS, incomingSequenceDetails); } return setCorrelationId(correlationId) .setSequenceNumber(sequenceNumber) .setSequenceSize(sequenceSize); }