From 0a273b016caa7d3999ae21144b67f68ca5e4ed3d Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Mon, 14 Jan 2008 20:41:53 +0000 Subject: [PATCH] Moved PooledMessageHandler to the handler package. --- .../java/org/springframework/integration/bus/MessageBus.java | 1 + .../integration/handler/InterceptingMessageHandler.java | 4 ++-- .../integration/handler/MessageHandlerChain.java | 5 +++-- .../integration/{bus => handler}/PooledMessageHandler.java | 3 +-- .../integration/bus/DefaultMessageDispatcherTests.java | 1 + 5 files changed, 8 insertions(+), 6 deletions(-) rename spring-integration-core/src/main/java/org/springframework/integration/{bus => handler}/PooledMessageHandler.java (98%) diff --git a/spring-integration-core/src/main/java/org/springframework/integration/bus/MessageBus.java b/spring-integration-core/src/main/java/org/springframework/integration/bus/MessageBus.java index 825ca847cd..9c8ac94ee0 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/bus/MessageBus.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/bus/MessageBus.java @@ -42,6 +42,7 @@ import org.springframework.integration.dispatcher.MessageDispatcher; import org.springframework.integration.endpoint.ConcurrencyPolicy; import org.springframework.integration.endpoint.MessageEndpoint; import org.springframework.integration.handler.MessageHandler; +import org.springframework.integration.handler.PooledMessageHandler; import org.springframework.integration.scheduling.MessagePublishingErrorHandler; import org.springframework.integration.scheduling.MessagingTaskScheduler; import org.springframework.integration.scheduling.MessagingTaskSchedulerAware; diff --git a/spring-integration-core/src/main/java/org/springframework/integration/handler/InterceptingMessageHandler.java b/spring-integration-core/src/main/java/org/springframework/integration/handler/InterceptingMessageHandler.java index bf1cd69637..5b3e409c15 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/handler/InterceptingMessageHandler.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/handler/InterceptingMessageHandler.java @@ -34,7 +34,7 @@ public abstract class InterceptingMessageHandler implements MessageHandler { this.target = target; } - public Message handle(Message message) { + public Message handle(Message message) { return handle(message, this.target); } @@ -46,6 +46,6 @@ public abstract class InterceptingMessageHandler implements MessageHandler { * @param target the intercepted handler * @return a reply message or null */ - public abstract Message handle(Message message, MessageHandler target); + public abstract Message handle(Message message, MessageHandler target); } diff --git a/spring-integration-core/src/main/java/org/springframework/integration/handler/MessageHandlerChain.java b/spring-integration-core/src/main/java/org/springframework/integration/handler/MessageHandlerChain.java index 569354d995..5d5e573a8d 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/handler/MessageHandlerChain.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/handler/MessageHandlerChain.java @@ -23,7 +23,8 @@ import org.springframework.integration.message.Message; /** * A message handler implementation that passes incoming messages through a - * chain of handlers. + * chain of handlers. The chain will be broken by any handler throwing an + * exception or returning null. * * @author Mark Fisher */ @@ -51,7 +52,7 @@ public class MessageHandlerChain implements MessageHandler { this.handlers.addAll(handlers); } - public Message handle(Message message) { + public Message handle(Message message) { for (MessageHandler next : handlers) { message = next.handle(message); if (message == null) { diff --git a/spring-integration-core/src/main/java/org/springframework/integration/bus/PooledMessageHandler.java b/spring-integration-core/src/main/java/org/springframework/integration/handler/PooledMessageHandler.java similarity index 98% rename from spring-integration-core/src/main/java/org/springframework/integration/bus/PooledMessageHandler.java rename to spring-integration-core/src/main/java/org/springframework/integration/handler/PooledMessageHandler.java index f93c2042be..249517cc4f 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/bus/PooledMessageHandler.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/handler/PooledMessageHandler.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.integration.bus; +package org.springframework.integration.handler; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; @@ -30,7 +30,6 @@ import org.springframework.context.Lifecycle; import org.springframework.integration.dispatcher.MessageHandlerNotRunningException; import org.springframework.integration.dispatcher.MessageHandlerRejectedExecutionException; import org.springframework.integration.dispatcher.MessageSelectorRejectedException; -import org.springframework.integration.handler.MessageHandler; import org.springframework.integration.message.Message; import org.springframework.integration.message.selector.MessageSelector; import org.springframework.scheduling.concurrent.CustomizableThreadFactory; diff --git a/spring-integration-core/src/test/java/org/springframework/integration/bus/DefaultMessageDispatcherTests.java b/spring-integration-core/src/test/java/org/springframework/integration/bus/DefaultMessageDispatcherTests.java index 526a9f24b1..86b38b7f55 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/bus/DefaultMessageDispatcherTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/bus/DefaultMessageDispatcherTests.java @@ -31,6 +31,7 @@ import org.springframework.integration.channel.SimpleChannel; import org.springframework.integration.dispatcher.DefaultMessageDispatcher; import org.springframework.integration.dispatcher.MessageHandlerRejectedExecutionException; import org.springframework.integration.endpoint.DefaultMessageEndpoint; +import org.springframework.integration.handler.PooledMessageHandler; import org.springframework.integration.message.ErrorMessage; import org.springframework.integration.message.Message; import org.springframework.integration.message.StringMessage;