Added ChannelPollingMessageDispatcher for simplification (no need to set a ChannelPollingMessageRetriever on a dispatcher). The DefaultMessageDispatcher has been renamed BasePollingMessageDispatcher.

This commit is contained in:
Mark Fisher
2008-01-12 19:09:06 +00:00
parent 420e0002c2
commit e1b1b925ed
5 changed files with 64 additions and 53 deletions

View File

@@ -22,9 +22,8 @@ import java.io.ByteArrayOutputStream;
import org.junit.Test;
import org.springframework.integration.bus.ChannelPollingMessageRetriever;
import org.springframework.integration.bus.ConsumerPolicy;
import org.springframework.integration.bus.DefaultMessageDispatcher;
import org.springframework.integration.bus.ChannelPollingMessageDispatcher;
import org.springframework.integration.channel.MessageChannel;
import org.springframework.integration.channel.SimpleChannel;
import org.springframework.integration.message.GenericMessage;
@@ -42,8 +41,7 @@ public class CharacterStreamTargetAdapterTests {
CharacterStreamTargetAdapter adapter = new CharacterStreamTargetAdapter(stream);
adapter.setChannel(channel);
ConsumerPolicy policy = ConsumerPolicy.newEventDrivenPolicy();
ChannelPollingMessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.addHandler(adapter);
dispatcher.start();
channel.send(new StringMessage("foo"));
@@ -60,8 +58,7 @@ public class CharacterStreamTargetAdapterTests {
CharacterStreamTargetAdapter adapter = new CharacterStreamTargetAdapter(stream);
adapter.setChannel(channel);
ConsumerPolicy policy = ConsumerPolicy.newEventDrivenPolicy();
ChannelPollingMessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.addHandler(adapter);
dispatcher.start();
channel.send(new StringMessage("foo"));
@@ -82,8 +79,7 @@ public class CharacterStreamTargetAdapterTests {
adapter.setChannel(channel);
adapter.setShouldAppendNewLine(true);
ConsumerPolicy policy = ConsumerPolicy.newEventDrivenPolicy();
ChannelPollingMessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.addHandler(adapter);
dispatcher.start();
channel.send(new StringMessage("foo"));
@@ -105,8 +101,7 @@ public class CharacterStreamTargetAdapterTests {
adapter.setChannel(channel);
ConsumerPolicy policy = ConsumerPolicy.newEventDrivenPolicy();
policy.setMaxMessagesPerTask(2);
ChannelPollingMessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.addHandler(adapter);
dispatcher.start();
channel.send(new StringMessage("foo"));
@@ -126,8 +121,7 @@ public class CharacterStreamTargetAdapterTests {
ConsumerPolicy policy = ConsumerPolicy.newEventDrivenPolicy();
policy.setReceiveTimeout(0);
policy.setMaxMessagesPerTask(10);
ChannelPollingMessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.addHandler(adapter);
dispatcher.start();
channel.send(new StringMessage("foo"));
@@ -145,8 +139,7 @@ public class CharacterStreamTargetAdapterTests {
CharacterStreamTargetAdapter adapter = new CharacterStreamTargetAdapter(stream);
adapter.setChannel(channel);
ConsumerPolicy policy = ConsumerPolicy.newEventDrivenPolicy();
ChannelPollingMessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.addHandler(adapter);
dispatcher.start();
TestObject testObject = new TestObject("foo");
@@ -166,8 +159,7 @@ public class CharacterStreamTargetAdapterTests {
ConsumerPolicy policy = ConsumerPolicy.newEventDrivenPolicy();
policy.setReceiveTimeout(0);
policy.setMaxMessagesPerTask(2);
ChannelPollingMessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.addHandler(adapter);
dispatcher.start();
TestObject testObject1 = new TestObject("foo");
@@ -189,8 +181,7 @@ public class CharacterStreamTargetAdapterTests {
ConsumerPolicy policy = ConsumerPolicy.newEventDrivenPolicy();
policy.setReceiveTimeout(0);
policy.setMaxMessagesPerTask(2);
ChannelPollingMessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.addHandler(adapter);
dispatcher.start();
TestObject testObject1 = new TestObject("foo");

View File

@@ -19,7 +19,6 @@ package org.springframework.integration.bus;
import static org.junit.Assert.assertEquals;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
@@ -35,7 +34,7 @@ import org.springframework.integration.message.selector.PayloadTypeSelector;
/**
* @author Mark Fisher
*/
public class DefaultMessageDispatcherTests {
public class ChannelPollingMessageDispatcherTests {
@Test
public void testNonBroadcastingDispatcherSendsToExactlyOneEndpoint() throws InterruptedException {
@@ -47,8 +46,7 @@ public class DefaultMessageDispatcherTests {
ConsumerPolicy policy = new ConsumerPolicy();
SimpleChannel channel = new SimpleChannel();
channel.send(new StringMessage(1, "test"));
MessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.addHandler(new PooledMessageHandler(endpoint1, 1, 1));
dispatcher.addHandler(new PooledMessageHandler(endpoint2, 1, 1));
dispatcher.start();
@@ -67,8 +65,7 @@ public class DefaultMessageDispatcherTests {
ConsumerPolicy policy = new ConsumerPolicy();
SimpleChannel channel = new SimpleChannel();
channel.send(new StringMessage(1, "test"));
MessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.setBroadcast(true);
dispatcher.addHandler(new PooledMessageHandler(endpoint1, 1, 1));
dispatcher.addHandler(new PooledMessageHandler(endpoint2, 1, 1));
@@ -90,8 +87,7 @@ public class DefaultMessageDispatcherTests {
ConsumerPolicy policy = new ConsumerPolicy();
SimpleChannel channel = new SimpleChannel();
channel.send(new StringMessage(1, "test"));
MessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.addHandler(new PooledMessageHandler(endpoint1, 1, 1) {
@Override
public void start() {
@@ -118,8 +114,7 @@ public class DefaultMessageDispatcherTests {
ConsumerPolicy policy = new ConsumerPolicy();
SimpleChannel channel = new SimpleChannel();
channel.send(new StringMessage(1, "test"));
MessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.setBroadcast(true);
dispatcher.addHandler(new PooledMessageHandler(endpoint1, 1, 1));
dispatcher.addHandler(new PooledMessageHandler(endpoint2, 1, 1) {
@@ -140,8 +135,7 @@ public class DefaultMessageDispatcherTests {
ConsumerPolicy policy = new ConsumerPolicy();
SimpleChannel channel = new SimpleChannel();
channel.send(new StringMessage(1, "test"));
MessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
assertEquals(0, dispatcher.dispatch());
}
@@ -157,8 +151,7 @@ public class DefaultMessageDispatcherTests {
ConsumerPolicy policy = new ConsumerPolicy();
SimpleChannel channel = new SimpleChannel();
channel.send(new StringMessage(1, "test"));
MessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.setBroadcast(true);
dispatcher.setRejectionLimit(2);
dispatcher.setRetryInterval(3);
@@ -186,8 +179,7 @@ public class DefaultMessageDispatcherTests {
ConsumerPolicy policy = new ConsumerPolicy();
SimpleChannel channel = new SimpleChannel();
channel.send(new StringMessage(1, "test"));
MessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.setBroadcast(true);
dispatcher.setRejectionLimit(2);
dispatcher.setRetryInterval(3);
@@ -217,8 +209,7 @@ public class DefaultMessageDispatcherTests {
ConsumerPolicy policy = new ConsumerPolicy();
SimpleChannel channel = new SimpleChannel();
channel.send(new StringMessage(1, "test"));
MessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.setRejectionLimit(2);
dispatcher.setRetryInterval(3);
dispatcher.addHandler(new PooledMessageHandler(endpoint1, 1, 1) {
@@ -249,8 +240,7 @@ public class DefaultMessageDispatcherTests {
ConsumerPolicy policy = new ConsumerPolicy();
SimpleChannel channel = new SimpleChannel();
channel.send(new StringMessage(1, "test"));
MessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.setRejectionLimit(2);
dispatcher.setRetryInterval(3);
dispatcher.setShouldFailOnRejectionLimit(false);
@@ -290,8 +280,7 @@ public class DefaultMessageDispatcherTests {
ConsumerPolicy policy = new ConsumerPolicy();
SimpleChannel channel = new SimpleChannel();
channel.send(new StringMessage(1, "test"));
MessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.setRejectionLimit(2);
dispatcher.setRetryInterval(3);
dispatcher.setShouldFailOnRejectionLimit(false);
@@ -342,8 +331,7 @@ public class DefaultMessageDispatcherTests {
ConsumerPolicy policy = new ConsumerPolicy();
SimpleChannel channel = new SimpleChannel();
channel.send(new StringMessage(1, "test"));
MessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.setBroadcast(true);
dispatcher.setRejectionLimit(5);
dispatcher.setRetryInterval(3);
@@ -387,8 +375,7 @@ public class DefaultMessageDispatcherTests {
ConsumerPolicy policy = new ConsumerPolicy();
SimpleChannel channel = new SimpleChannel();
channel.send(new StringMessage(1, "test"));
MessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
PooledMessageHandler executor1 = new PooledMessageHandler(endpoint1, 1, 1);
PooledMessageHandler executor2 = new PooledMessageHandler(endpoint2, 1, 1);
executor1.addMessageSelector(new PayloadTypeSelector(Integer.class));
@@ -415,8 +402,7 @@ public class DefaultMessageDispatcherTests {
ConsumerPolicy policy = new ConsumerPolicy();
SimpleChannel channel = new SimpleChannel();
channel.send(new StringMessage(1, "test"));
MessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
PooledMessageHandler executor1 = new PooledMessageHandler(endpoint1, 1, 1) {
@Override
public Message handle(Message<?> message) {
@@ -458,8 +444,7 @@ public class DefaultMessageDispatcherTests {
ConsumerPolicy policy = new ConsumerPolicy();
SimpleChannel channel = new SimpleChannel();
channel.send(new StringMessage(1, "test"));
MessageRetriever retriever = new ChannelPollingMessageRetriever(channel, policy);
DefaultMessageDispatcher dispatcher = new DefaultMessageDispatcher(retriever);
ChannelPollingMessageDispatcher dispatcher = new ChannelPollingMessageDispatcher(channel, policy);
dispatcher.setBroadcast(true);
PooledMessageHandler executor1 = new PooledMessageHandler(endpoint1, 1, 1);
PooledMessageHandler executor2 = new PooledMessageHandler(endpoint2, 1, 1);