diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/ConsumerEndpointFactoryBean.java b/spring-integration-core/src/main/java/org/springframework/integration/config/ConsumerEndpointFactoryBean.java index 2f0650b786..7f3a4adc25 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/config/ConsumerEndpointFactoryBean.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/config/ConsumerEndpointFactoryBean.java @@ -107,8 +107,9 @@ public class ConsumerEndpointFactoryBean */ Map historyWriters = BeanFactoryUtils.beansOfTypeIncludingAncestors((ListableBeanFactory)this.beanFactory, MessageHistoryWriter.class); if (historyWriters.size() == 1){ + MessageHistoryWriter writer = historyWriters.values().iterator().next(); if (!beanName.startsWith("org.springframework") && this.handler instanceof IntegrationObjectSupport){ - this.handler = new MessageHistoryAwareMessageHandler(this.beanFactory.getBean(MessageHistoryWriter.class), this.beanName, this.handler); + this.handler = new MessageHistoryAwareMessageHandler(writer, this.beanName, this.handler); } } this.initializeEndpoint(); diff --git a/spring-integration-core/src/main/java/org/springframework/integration/history/MessageHistoryAwareMessageHandler.java b/spring-integration-core/src/main/java/org/springframework/integration/history/MessageHistoryAwareMessageHandler.java index 9475a95073..6c6a49408f 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/history/MessageHistoryAwareMessageHandler.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/history/MessageHistoryAwareMessageHandler.java @@ -32,22 +32,22 @@ import org.springframework.integration.message.MessageRejectedException; * @since 2.0 */ public class MessageHistoryAwareMessageHandler implements NamedComponent, MessageHandler, Ordered { - private MessageHandler parentHandler; + private MessageHandler targetHandler; private String componentName; private MessageHistoryWriter historyWriter; - private int order; + private int order = Ordered.LOWEST_PRECEDENCE; /** * * @param historyWriter * @param endpointName * @param parentHandler */ - public MessageHistoryAwareMessageHandler(MessageHistoryWriter historyWriter, String endpointName, MessageHandler parentHandler){ + public MessageHistoryAwareMessageHandler(MessageHistoryWriter historyWriter, String endpointName, MessageHandler targetHandler){ this.historyWriter = historyWriter; this.componentName = endpointName; - this.parentHandler = parentHandler; - if (parentHandler instanceof Ordered){ - this.order = ((Ordered)parentHandler).getOrder(); + this.targetHandler = targetHandler; + if (targetHandler instanceof Ordered){ + this.order = ((Ordered)targetHandler).getOrder(); } } @@ -58,11 +58,11 @@ public class MessageHistoryAwareMessageHandler implements NamedComponent, Messag throws MessageRejectedException, MessageHandlingException, MessageDeliveryException { historyWriter.writeHistory(this, message); - parentHandler.handleMessage(message); + targetHandler.handleMessage(message); } public String getComponentType() { - return ((NamedComponent)parentHandler).getComponentType(); + return ((NamedComponent)targetHandler).getComponentType(); } public int getOrder() {