INT-1500: add apply-sequence flag to splitter.

This commit is contained in:
Iwein Fuld
2010-10-17 20:00:08 +02:00
parent 466b3b4cd6
commit d0a00c68fd
6 changed files with 65 additions and 8 deletions

View File

@@ -16,25 +16,24 @@
package org.springframework.integration.router.config;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import java.util.Collections;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.Message;
import org.springframework.integration.MessageChannel;
import org.springframework.integration.MessageHandlingException;
import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.core.PollableChannel;
import org.springframework.integration.endpoint.EventDrivenConsumer;
import org.springframework.integration.message.GenericMessage;
import org.springframework.integration.support.MessageBuilder;
import java.util.Collections;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.*;
/**
* @author Mark Fisher
* @author Iwein Fuld
*/
public class SplitterParserTests {
@@ -104,4 +103,18 @@ public class SplitterParserTests {
inputChannel.send(MessageBuilder.withPayload(Collections.emptyList()).build());
}
@Test
public void splitterParserTestApplySequenceFalse() {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
"splitterParserTests.xml", this.getClass());
context.start();
DirectChannel inputChannel = context.getBean("noSequenceInput", DirectChannel.class);
PollableChannel output = (PollableChannel) context.getBean("output");
inputChannel.send(MessageBuilder.withPayload(Collections.emptyList()).build());
Message<?> message = output.receive(1000);
assertThat(message.getHeaders().getSequenceNumber(), is(0));
assertThat(message.getHeaders().getSequenceSize(), is(0));
}
}

View File

@@ -32,6 +32,13 @@
output-channel="output"
requires-reply="true"/>
<splitter id="splitterBeanNoSequence"
ref="splitterBean"
input-channel="noSequenceInput"
output-channel="output"
apply-sequence="false"
/>
<beans:bean id="splitterBean" class="org.springframework.integration.router.config.TestSplitterBean"/>
<beans:bean id="splitterImpl" class="org.springframework.integration.router.config.TestSplitterImpl"/>