List of usage examples for org.springframework.integration.store MessageGroup getOne
Message<?> getOne();
From source file:org.springframework.integration.aggregator.AbstractCorrelatingMessageHandler.java
private void completeGroup(Object correlationKey, MessageGroup group) { Message<?> first = null;/*from w w w . java 2 s .c om*/ if (group != null) { first = group.getOne(); } completeGroup(first, correlationKey, group); }
From source file:org.springframework.integration.aggregator.SequenceSizeReleaseStrategy.java
public boolean canRelease(MessageGroup messageGroup) { boolean canRelease = false; Collection<Message<?>> messages = messageGroup.getMessages(); if (releasePartialSequences && !messages.isEmpty()) { if (logger.isTraceEnabled()) { logger.trace("Considering partial release of group [" + messageGroup + "]"); }/*from w w w .ja va 2 s. c om*/ List<Message<?>> sorted = new ArrayList<Message<?>>(messages); Collections.sort(sorted, comparator); int nextSequenceNumber = sorted.get(0).getHeaders().getSequenceNumber(); int lastReleasedMessageSequence = messageGroup.getLastReleasedMessageSequenceNumber(); if (nextSequenceNumber - lastReleasedMessageSequence == 1) { canRelease = true; ; } } else { int size = messages.size(); if (size == 0) { canRelease = true; } else { int sequenceSize = messageGroup.getOne().getHeaders().getSequenceSize(); // If there is no sequence then it must be incomplete.... if (sequenceSize == size) { canRelease = true; } } } return canRelease; }