diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/bus/SubscriptionManager.java b/org.springframework.integration/src/main/java/org/springframework/integration/bus/SubscriptionManager.java
index f4adb66db8..924abaab71 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/bus/SubscriptionManager.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/bus/SubscriptionManager.java
@@ -27,9 +27,9 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.context.Lifecycle;
import org.springframework.integration.ConfigurationException;
-import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.channel.MessageChannel;
import org.springframework.integration.dispatcher.DefaultPollingDispatcher;
+import org.springframework.integration.dispatcher.DirectChannel;
import org.springframework.integration.dispatcher.PollingDispatcherTask;
import org.springframework.integration.endpoint.TargetEndpoint;
import org.springframework.integration.message.MessagingException;
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/channel/config/DirectChannelParser.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/DirectChannelParser.java
similarity index 87%
rename from org.springframework.integration/src/main/java/org/springframework/integration/channel/config/DirectChannelParser.java
rename to org.springframework.integration/src/main/java/org/springframework/integration/config/DirectChannelParser.java
index 7c11983077..d994876d02 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/channel/config/DirectChannelParser.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/DirectChannelParser.java
@@ -14,13 +14,14 @@
* limitations under the License.
*/
-package org.springframework.integration.channel.config;
+package org.springframework.integration.config;
import org.w3c.dom.Element;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.channel.DispatcherPolicy;
+import org.springframework.integration.channel.config.AbstractChannelParser;
+import org.springframework.integration.dispatcher.DirectChannel;
import org.springframework.util.StringUtils;
/**
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/IntegrationNamespaceHandler.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/IntegrationNamespaceHandler.java
index 884bdf666d..f31a2adad3 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/config/IntegrationNamespaceHandler.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/IntegrationNamespaceHandler.java
@@ -28,7 +28,6 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.xml.BeanDefinitionParser;
import org.springframework.beans.factory.xml.NamespaceHandlerSupport;
import org.springframework.core.io.support.PropertiesLoaderUtils;
-import org.springframework.integration.channel.config.DirectChannelParser;
import org.springframework.integration.channel.config.PriorityChannelParser;
import org.springframework.integration.channel.config.QueueChannelParser;
import org.springframework.integration.channel.config.RendezvousChannelParser;
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/MessageEndpointAnnotationPostProcessor.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/MessageEndpointAnnotationPostProcessor.java
index 7cc24ede1c..f110d8d836 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/config/MessageEndpointAnnotationPostProcessor.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/MessageEndpointAnnotationPostProcessor.java
@@ -45,7 +45,7 @@ import org.springframework.integration.annotation.Router;
import org.springframework.integration.annotation.Splitter;
import org.springframework.integration.bus.MessageBus;
import org.springframework.integration.channel.ChannelRegistryAware;
-import org.springframework.integration.channel.DirectChannel;
+import org.springframework.integration.dispatcher.DirectChannel;
import org.springframework.integration.endpoint.ConcurrencyPolicy;
import org.springframework.integration.endpoint.HandlerEndpoint;
import org.springframework.integration.endpoint.SourceEndpoint;
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/channel/DirectChannel.java b/org.springframework.integration/src/main/java/org/springframework/integration/dispatcher/DirectChannel.java
similarity index 94%
rename from org.springframework.integration/src/main/java/org/springframework/integration/channel/DirectChannel.java
rename to org.springframework.integration/src/main/java/org/springframework/integration/dispatcher/DirectChannel.java
index abed877ed0..4ad7871e89 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/channel/DirectChannel.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/dispatcher/DirectChannel.java
@@ -14,13 +14,14 @@
* limitations under the License.
*/
-package org.springframework.integration.channel;
+package org.springframework.integration.dispatcher;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
-import org.springframework.integration.dispatcher.SimpleDispatcher;
+import org.springframework.integration.channel.AbstractMessageChannel;
+import org.springframework.integration.channel.DispatcherPolicy;
import org.springframework.integration.handler.MessageHandler;
import org.springframework.integration.message.Message;
import org.springframework.integration.message.Source;
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/channel/factory/DirectChannelFactory.java b/org.springframework.integration/src/main/java/org/springframework/integration/dispatcher/DirectChannelFactory.java
similarity index 84%
rename from org.springframework.integration/src/main/java/org/springframework/integration/channel/factory/DirectChannelFactory.java
rename to org.springframework.integration/src/main/java/org/springframework/integration/dispatcher/DirectChannelFactory.java
index 5cce001245..b05dda2c83 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/channel/factory/DirectChannelFactory.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/dispatcher/DirectChannelFactory.java
@@ -14,11 +14,12 @@
* limitations under the License.
*/
-package org.springframework.integration.channel.factory;
+package org.springframework.integration.dispatcher;
import org.springframework.integration.channel.AbstractMessageChannel;
-import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.channel.DispatcherPolicy;
+import org.springframework.integration.channel.factory.AbstractChannelFactory;
+import org.springframework.integration.channel.factory.ChannelFactory;
/**
* A {@link ChannelFactory} for creating {@link DirectChannel} instances.
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/bus/DirectChannelSubscriptionTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/bus/DirectChannelSubscriptionTests.java
index bd1a1c0a7b..c8bcbdf4f9 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/bus/DirectChannelSubscriptionTests.java
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/bus/DirectChannelSubscriptionTests.java
@@ -23,11 +23,11 @@ import org.junit.Test;
import org.springframework.integration.annotation.Handler;
import org.springframework.integration.annotation.MessageEndpoint;
-import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.channel.MessageChannel;
import org.springframework.integration.channel.QueueChannel;
import org.springframework.integration.channel.ThreadLocalChannel;
import org.springframework.integration.config.MessageEndpointAnnotationPostProcessor;
+import org.springframework.integration.dispatcher.DirectChannel;
import org.springframework.integration.endpoint.HandlerEndpoint;
import org.springframework.integration.handler.MessageHandler;
import org.springframework.integration.message.Message;
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/channel/config/DirectChannelParserTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/channel/config/DirectChannelParserTests.java
index 312a9c0678..2e6b13b27a 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/channel/config/DirectChannelParserTests.java
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/channel/config/DirectChannelParserTests.java
@@ -24,7 +24,7 @@ import static org.junit.Assert.assertNull;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
-import org.springframework.integration.channel.DirectChannel;
+import org.springframework.integration.dispatcher.DirectChannel;
import org.springframework.integration.message.Message;
import org.springframework.integration.message.StringMessage;
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/channel/factory/ChannelFactoryTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/channel/factory/ChannelFactoryTests.java
index 2e310d2af8..58ba6786db 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/channel/factory/ChannelFactoryTests.java
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/channel/factory/ChannelFactoryTests.java
@@ -33,13 +33,14 @@ import org.springframework.integration.bus.DefaultChannelFactoryBean;
import org.springframework.integration.bus.MessageBus;
import org.springframework.integration.channel.AbstractMessageChannel;
import org.springframework.integration.channel.ChannelInterceptor;
-import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.channel.DispatcherPolicy;
import org.springframework.integration.channel.MessageChannel;
import org.springframework.integration.channel.PriorityChannel;
import org.springframework.integration.channel.QueueChannel;
import org.springframework.integration.channel.RendezvousChannel;
import org.springframework.integration.channel.ThreadLocalChannel;
+import org.springframework.integration.dispatcher.DirectChannel;
+import org.springframework.integration.dispatcher.DirectChannelFactory;
import org.springframework.integration.message.Message;
import org.springframework.integration.message.selector.MessageSelector;
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/config/MessageBusParserTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/config/MessageBusParserTests.java
index f63eda029d..0231fc6cc8 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/config/MessageBusParserTests.java
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/config/MessageBusParserTests.java
@@ -33,8 +33,8 @@ import org.springframework.core.task.SyncTaskExecutor;
import org.springframework.integration.ConfigurationException;
import org.springframework.integration.bus.MessageBus;
import org.springframework.integration.bus.TestMessageBusAwareImpl;
-import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.channel.QueueChannel;
+import org.springframework.integration.dispatcher.DirectChannel;
import org.springframework.integration.endpoint.TargetEndpoint;
import org.springframework.integration.handler.TestHandlers;
import org.springframework.integration.scheduling.SimpleMessagingTaskScheduler;
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/config/messageBusWithChannelFactory.xml b/org.springframework.integration/src/test/java/org/springframework/integration/config/messageBusWithChannelFactory.xml
index 523b5d3b1f..43526f3992 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/config/messageBusWithChannelFactory.xml
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/config/messageBusWithChannelFactory.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/dispatcher/DirectChannelTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/dispatcher/DirectChannelTests.java
index 592f1c2b80..3469409562 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/dispatcher/DirectChannelTests.java
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/dispatcher/DirectChannelTests.java
@@ -27,7 +27,6 @@ import java.util.concurrent.TimeUnit;
import org.junit.Test;
-import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.message.Message;
import org.springframework.integration.message.Source;
import org.springframework.integration.message.StringMessage;