INT-901 Resolved issue with inadvertent reply splitting. This might not be the permanent solution (may refactor AbstractMessageSplitter to inherit directly from AbstractMessageHandler).

This commit is contained in:
Mark Fisher
2009-12-02 13:42:23 +00:00
parent 4a13e38fde
commit 6a0e72bd6b
3 changed files with 171 additions and 1 deletions

View File

@@ -92,6 +92,10 @@ public abstract class AbstractReplyProducingMessageHandler extends AbstractMessa
}
}
protected boolean shouldSplitReplies() {
return false;
}
/**
* {@inheritDoc}
*/
@@ -111,7 +115,7 @@ public abstract class AbstractReplyProducingMessageHandler extends AbstractMessa
}
MessageChannel replyChannel = resolveReplyChannel(message, this.outputChannel, this.channelResolver);
MessageHeaders requestHeaders = message.getHeaders();
if (result instanceof Iterable) {
if (this.shouldSplitReplies() && result instanceof Iterable) {
this.sendReplyMessages((Iterable) result, requestHeaders, replyChannel);
}
else {

View File

@@ -33,6 +33,11 @@ import org.springframework.integration.message.MessageBuilder;
*/
public abstract class AbstractMessageSplitter extends AbstractReplyProducingMessageHandler {
@Override
protected boolean shouldSplitReplies() {
return true;
}
@Override
protected final Object handleRequestMessage(Message<?> message) {
Object result = this.splitMessage(message);