Removed EndpointTrigger, EndpointPoller, and EndpointVisitor. MessageBus now schedules PollingDispatchers for endpoints.
This commit is contained in:
@@ -23,11 +23,7 @@ import java.io.ByteArrayInputStream;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.integration.channel.QueueChannel;
|
||||
import org.springframework.integration.endpoint.SourceEndpoint;
|
||||
import org.springframework.integration.endpoint.TriggerMessage;
|
||||
import org.springframework.integration.message.Message;
|
||||
import org.springframework.integration.scheduling.PollingSchedule;
|
||||
|
||||
/**
|
||||
* @author Mark Fisher
|
||||
@@ -38,69 +34,48 @@ public class ByteStreamSourceTests {
|
||||
public void testEndOfStream() {
|
||||
byte[] bytes = new byte[] {1,2,3};
|
||||
ByteArrayInputStream stream = new ByteArrayInputStream(bytes);
|
||||
QueueChannel channel = new QueueChannel();
|
||||
ByteStreamSource source = new ByteStreamSource(stream);
|
||||
SourceEndpoint endpoint = new SourceEndpoint(source);
|
||||
endpoint.setTarget(channel);
|
||||
endpoint.afterPropertiesSet();
|
||||
endpoint.send(new TriggerMessage());
|
||||
Message<?> message1 = channel.receive(500);
|
||||
Message<?> message1 = source.receive();
|
||||
byte[] payload = (byte[]) message1.getPayload();
|
||||
assertEquals(3, payload.length);
|
||||
assertEquals(1, payload[0]);
|
||||
assertEquals(2, payload[1]);
|
||||
assertEquals(3, payload[2]);
|
||||
Message<?> message2 = channel.receive(0);
|
||||
Message<?> message2 = source.receive();
|
||||
assertNull(message2);
|
||||
endpoint.send(new TriggerMessage());
|
||||
Message<?> message3 = channel.receive(0);
|
||||
assertNull(message3);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testByteArrayIsTruncated() {
|
||||
byte[] bytes = new byte[] {0,1,2,3,4,5};
|
||||
ByteArrayInputStream stream = new ByteArrayInputStream(bytes);
|
||||
QueueChannel channel = new QueueChannel();
|
||||
ByteStreamSource source = new ByteStreamSource(stream);
|
||||
source.setBytesPerMessage(4);
|
||||
PollingSchedule schedule = new PollingSchedule(1000);
|
||||
schedule.setInitialDelay(10000);
|
||||
SourceEndpoint endpoint = new SourceEndpoint(source);
|
||||
endpoint.setTarget(channel);
|
||||
endpoint.afterPropertiesSet();
|
||||
endpoint.send(new TriggerMessage());
|
||||
Message<?> message1 = channel.receive(0);
|
||||
Message<?> message1 = source.receive();
|
||||
assertEquals(4, ((byte[]) message1.getPayload()).length);
|
||||
Message<?> message2 = channel.receive(0);
|
||||
assertNull(message2);
|
||||
endpoint.send(new TriggerMessage());
|
||||
Message<?> message3 = channel.receive(0);
|
||||
assertEquals(2, ((byte[]) message3.getPayload()).length);
|
||||
Message<?> message2 = source.receive();
|
||||
assertEquals(2, ((byte[]) message2.getPayload()).length);
|
||||
Message<?> message3 = source.receive();
|
||||
assertNull(message3);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testByteArrayIsNotTruncated() {
|
||||
byte[] bytes = new byte[] {0,1,2,3,4,5};
|
||||
ByteArrayInputStream stream = new ByteArrayInputStream(bytes);
|
||||
QueueChannel channel = new QueueChannel();
|
||||
ByteStreamSource source = new ByteStreamSource(stream);
|
||||
source.setBytesPerMessage(4);
|
||||
source.setShouldTruncate(false);
|
||||
PollingSchedule schedule = new PollingSchedule(1000);
|
||||
schedule.setInitialDelay(10000);
|
||||
SourceEndpoint endpoint = new SourceEndpoint(source);
|
||||
endpoint.setTarget(channel);
|
||||
endpoint.afterPropertiesSet();
|
||||
endpoint.send(new TriggerMessage());
|
||||
Message<?> message1 = channel.receive(0);
|
||||
Message<?> message1 = source.receive();
|
||||
assertEquals(4, ((byte[]) message1.getPayload()).length);
|
||||
Message<?> message2 = channel.receive(0);
|
||||
assertNull(message2);
|
||||
endpoint.send(new TriggerMessage());
|
||||
Message<?> message3 = channel.receive(0);
|
||||
assertEquals(4, ((byte[]) message3.getPayload()).length);
|
||||
assertEquals(0, ((byte[]) message3.getPayload())[3]);
|
||||
Message<?> message2 = source.receive();
|
||||
assertEquals(4, ((byte[]) message2.getPayload()).length);
|
||||
assertEquals(4, ((byte[]) message2.getPayload())[0]);
|
||||
assertEquals(5, ((byte[]) message2.getPayload())[1]);
|
||||
assertEquals(0, ((byte[]) message2.getPayload())[2]);
|
||||
assertEquals(0, ((byte[]) message2.getPayload())[3]);
|
||||
Message<?> message3 = source.receive();
|
||||
assertNull(message3);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ public class ByteStreamTargetTests {
|
||||
@Before
|
||||
public void initialize() {
|
||||
this.channel = new QueueChannel(10);
|
||||
this.dispatcher = new PollingDispatcher(channel, new BroadcastingDispatcher(), new PollingSchedule(0));
|
||||
this.dispatcher = new PollingDispatcher(channel, new PollingSchedule(0), new BroadcastingDispatcher());
|
||||
}
|
||||
|
||||
|
||||
@@ -74,8 +74,8 @@ public class ByteStreamTargetTests {
|
||||
public void testMaxMessagesPerTaskSameAsMessageCount() {
|
||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
||||
ByteStreamTarget target = new ByteStreamTarget(stream);
|
||||
dispatcher.setMaxMessagesPerTask(3);
|
||||
dispatcher.addTarget(target);
|
||||
dispatcher.setMaxMessagesPerPoll(3);
|
||||
dispatcher.subscribe(target);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {1,2,3}), 0);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {4,5,6}), 0);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {7,8,9}), 0);
|
||||
@@ -90,8 +90,8 @@ public class ByteStreamTargetTests {
|
||||
public void testMaxMessagesPerTaskLessThanMessageCount() {
|
||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
||||
ByteStreamTarget target = new ByteStreamTarget(stream);
|
||||
dispatcher.setMaxMessagesPerTask(2);
|
||||
dispatcher.addTarget(target);
|
||||
dispatcher.setMaxMessagesPerPoll(2);
|
||||
dispatcher.subscribe(target);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {1,2,3}), 0);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {4,5,6}), 0);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {7,8,9}), 0);
|
||||
@@ -105,9 +105,9 @@ public class ByteStreamTargetTests {
|
||||
public void testMaxMessagesPerTaskExceedsMessageCount() {
|
||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
||||
ByteStreamTarget target = new ByteStreamTarget(stream);
|
||||
dispatcher.setMaxMessagesPerTask(5);
|
||||
dispatcher.setMaxMessagesPerPoll(5);
|
||||
dispatcher.setReceiveTimeout(0);
|
||||
dispatcher.addTarget(target);
|
||||
dispatcher.subscribe(target);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {1,2,3}), 0);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {4,5,6}), 0);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {7,8,9}), 0);
|
||||
@@ -121,9 +121,9 @@ public class ByteStreamTargetTests {
|
||||
public void testMaxMessagesLessThanMessageCountWithMultipleDispatches() {
|
||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
||||
ByteStreamTarget target = new ByteStreamTarget(stream);
|
||||
dispatcher.setMaxMessagesPerTask(2);
|
||||
dispatcher.setMaxMessagesPerPoll(2);
|
||||
dispatcher.setReceiveTimeout(0);
|
||||
dispatcher.addTarget(target);
|
||||
dispatcher.subscribe(target);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {1,2,3}), 0);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {4,5,6}), 0);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {7,8,9}), 0);
|
||||
@@ -142,9 +142,9 @@ public class ByteStreamTargetTests {
|
||||
public void testMaxMessagesExceedsMessageCountWithMultipleDispatches() {
|
||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
||||
ByteStreamTarget target = new ByteStreamTarget(stream);
|
||||
dispatcher.setMaxMessagesPerTask(5);
|
||||
dispatcher.setMaxMessagesPerPoll(5);
|
||||
dispatcher.setReceiveTimeout(0);
|
||||
dispatcher.addTarget(target);
|
||||
dispatcher.subscribe(target);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {1,2,3}), 0);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {4,5,6}), 0);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {7,8,9}), 0);
|
||||
@@ -162,9 +162,9 @@ public class ByteStreamTargetTests {
|
||||
public void testStreamResetBetweenDispatches() {
|
||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
||||
ByteStreamTarget target = new ByteStreamTarget(stream);
|
||||
dispatcher.setMaxMessagesPerTask(2);
|
||||
dispatcher.setMaxMessagesPerPoll(2);
|
||||
dispatcher.setReceiveTimeout(0);
|
||||
dispatcher.addTarget(target);
|
||||
dispatcher.subscribe(target);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {1,2,3}), 0);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {4,5,6}), 0);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {7,8,9}), 0);
|
||||
@@ -182,9 +182,9 @@ public class ByteStreamTargetTests {
|
||||
public void testStreamWriteBetweenDispatches() throws IOException {
|
||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
||||
ByteStreamTarget target = new ByteStreamTarget(stream);
|
||||
dispatcher.setMaxMessagesPerTask(2);
|
||||
dispatcher.setMaxMessagesPerPoll(2);
|
||||
dispatcher.setReceiveTimeout(0);
|
||||
dispatcher.addTarget(target);
|
||||
dispatcher.subscribe(target);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {1,2,3}), 0);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {4,5,6}), 0);
|
||||
channel.send(new GenericMessage<byte[]>(new byte[] {7,8,9}), 0);
|
||||
|
||||
@@ -23,11 +23,7 @@ import java.io.StringReader;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.integration.channel.QueueChannel;
|
||||
import org.springframework.integration.endpoint.SourceEndpoint;
|
||||
import org.springframework.integration.endpoint.TriggerMessage;
|
||||
import org.springframework.integration.message.Message;
|
||||
import org.springframework.integration.scheduling.PollingSchedule;
|
||||
|
||||
/**
|
||||
* @author Mark Fisher
|
||||
@@ -37,21 +33,11 @@ public class CharacterStreamSourceTests {
|
||||
@Test
|
||||
public void testEndOfStream() {
|
||||
StringReader reader = new StringReader("test");
|
||||
QueueChannel channel = new QueueChannel();
|
||||
CharacterStreamSource source = new CharacterStreamSource(reader);
|
||||
PollingSchedule schedule = new PollingSchedule(1000);
|
||||
schedule.setInitialDelay(10000);
|
||||
SourceEndpoint endpoint = new SourceEndpoint(source);
|
||||
endpoint.setTarget(channel);
|
||||
endpoint.afterPropertiesSet();
|
||||
endpoint.send(new TriggerMessage());
|
||||
Message<?> message1 = channel.receive(0);
|
||||
Message<?> message1 = source.receive();
|
||||
assertEquals("test", message1.getPayload());
|
||||
Message<?> message2 = channel.receive(0);
|
||||
Message<?> message2 = source.receive();
|
||||
assertNull(message2);
|
||||
endpoint.send(new TriggerMessage());
|
||||
Message<?> message3 = channel.receive(0);
|
||||
assertNull(message3);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ public class CharacterStreamTargetTests {
|
||||
@Before
|
||||
public void initialize() {
|
||||
this.channel = new QueueChannel(10);
|
||||
this.dispatcher = new PollingDispatcher(channel, new BroadcastingDispatcher(), new PollingSchedule(0));
|
||||
this.dispatcher = new PollingDispatcher(channel, new PollingSchedule(0), new BroadcastingDispatcher());
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,8 @@ public class CharacterStreamTargetTests {
|
||||
public void testTwoStringsAndNoNewLinesByDefault() {
|
||||
StringWriter writer = new StringWriter();
|
||||
CharacterStreamTarget target = new CharacterStreamTarget(writer);
|
||||
dispatcher.addTarget(target);
|
||||
dispatcher.subscribe(target);
|
||||
dispatcher.setMaxMessagesPerPoll(1);
|
||||
channel.send(new StringMessage("foo"), 0);
|
||||
channel.send(new StringMessage("bar"), 0);
|
||||
dispatcher.run();
|
||||
@@ -73,7 +74,8 @@ public class CharacterStreamTargetTests {
|
||||
StringWriter writer = new StringWriter();
|
||||
CharacterStreamTarget target = new CharacterStreamTarget(writer);
|
||||
target.setShouldAppendNewLine(true);
|
||||
dispatcher.addTarget(target);
|
||||
dispatcher.subscribe(target);
|
||||
dispatcher.setMaxMessagesPerPoll(1);
|
||||
channel.send(new StringMessage("foo"), 0);
|
||||
channel.send(new StringMessage("bar"), 0);
|
||||
dispatcher.run();
|
||||
@@ -87,8 +89,8 @@ public class CharacterStreamTargetTests {
|
||||
public void testMaxMessagesPerTaskSameAsMessageCount() {
|
||||
StringWriter writer = new StringWriter();
|
||||
CharacterStreamTarget target = new CharacterStreamTarget(writer);
|
||||
dispatcher.setMaxMessagesPerTask(2);
|
||||
dispatcher.addTarget(target);
|
||||
dispatcher.setMaxMessagesPerPoll(2);
|
||||
dispatcher.subscribe(target);
|
||||
channel.send(new StringMessage("foo"), 0);
|
||||
channel.send(new StringMessage("bar"), 0);
|
||||
dispatcher.run();
|
||||
@@ -99,9 +101,9 @@ public class CharacterStreamTargetTests {
|
||||
public void testMaxMessagesPerTaskExceedsMessageCountWithAppendedNewLines() {
|
||||
StringWriter writer = new StringWriter();
|
||||
CharacterStreamTarget target = new CharacterStreamTarget(writer);
|
||||
dispatcher.setMaxMessagesPerTask(10);
|
||||
dispatcher.setMaxMessagesPerPoll(10);
|
||||
dispatcher.setReceiveTimeout(0);
|
||||
dispatcher.addTarget(target);
|
||||
dispatcher.subscribe(target);
|
||||
target.setShouldAppendNewLine(true);
|
||||
channel.send(new StringMessage("foo"), 0);
|
||||
channel.send(new StringMessage("bar"), 0);
|
||||
@@ -114,7 +116,8 @@ public class CharacterStreamTargetTests {
|
||||
public void testSingleNonStringObject() {
|
||||
StringWriter writer = new StringWriter();
|
||||
CharacterStreamTarget target = new CharacterStreamTarget(writer);
|
||||
dispatcher.addTarget(target);
|
||||
dispatcher.subscribe(target);
|
||||
dispatcher.setMaxMessagesPerPoll(1);
|
||||
TestObject testObject = new TestObject("foo");
|
||||
channel.send(new GenericMessage<TestObject>(testObject));
|
||||
dispatcher.run();
|
||||
@@ -126,8 +129,8 @@ public class CharacterStreamTargetTests {
|
||||
StringWriter writer = new StringWriter();
|
||||
CharacterStreamTarget target = new CharacterStreamTarget(writer);
|
||||
dispatcher.setReceiveTimeout(0);
|
||||
dispatcher.setMaxMessagesPerTask(2);
|
||||
dispatcher.addTarget(target);
|
||||
dispatcher.setMaxMessagesPerPoll(2);
|
||||
dispatcher.subscribe(target);
|
||||
TestObject testObject1 = new TestObject("foo");
|
||||
TestObject testObject2 = new TestObject("bar");
|
||||
channel.send(new GenericMessage<TestObject>(testObject1), 0);
|
||||
@@ -142,8 +145,8 @@ public class CharacterStreamTargetTests {
|
||||
CharacterStreamTarget target = new CharacterStreamTarget(writer);
|
||||
target.setShouldAppendNewLine(true);
|
||||
dispatcher.setReceiveTimeout(0);
|
||||
dispatcher.setMaxMessagesPerTask(2);
|
||||
dispatcher.addTarget(target);
|
||||
dispatcher.setMaxMessagesPerPoll(2);
|
||||
dispatcher.subscribe(target);
|
||||
TestObject testObject1 = new TestObject("foo");
|
||||
TestObject testObject2 = new TestObject("bar");
|
||||
channel.send(new GenericMessage<TestObject>(testObject1), 0);
|
||||
|
||||
Reference in New Issue
Block a user