diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/MethodInvokingOutboundChannelAdapterParser.java b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/MethodInvokingOutboundChannelAdapterParser.java index fda6fa4ba0..9a3c2e8319 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/MethodInvokingOutboundChannelAdapterParser.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/MethodInvokingOutboundChannelAdapterParser.java @@ -16,6 +16,8 @@ package org.springframework.integration.config.xml; +import org.w3c.dom.Element; + import org.springframework.beans.factory.parsing.BeanComponentDefinition; import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.beans.factory.support.BeanDefinitionBuilder; @@ -23,7 +25,6 @@ import org.springframework.beans.factory.support.BeanDefinitionReaderUtils; import org.springframework.beans.factory.xml.ParserContext; import org.springframework.util.Assert; import org.springframework.util.StringUtils; -import org.w3c.dom.Element; /** * Parser for the <outbound-channel-adapter/> element. @@ -53,6 +54,8 @@ public class MethodInvokingOutboundChannelAdapterParser extends AbstractOutbound protected AbstractBeanDefinition parseConsumer(Element element, ParserContext parserContext) { BeanDefinitionBuilder invokerBuilder = BeanDefinitionBuilder.genericBeanDefinition( IntegrationNamespaceUtils.BASE_PACKAGE + ".handler.MethodInvokingMessageHandler"); + + invokerBuilder.addPropertyValue("componentType", "outbound-channel-adapter"); BeanComponentDefinition innerHandlerDefinition = IntegrationNamespaceUtils.parseInnerHandlerDefinition(element, parserContext); if (innerHandlerDefinition == null){ diff --git a/spring-integration-core/src/main/java/org/springframework/integration/handler/MethodInvokingMessageHandler.java b/spring-integration-core/src/main/java/org/springframework/integration/handler/MethodInvokingMessageHandler.java index 8eff4b1682..d38536b89b 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/handler/MethodInvokingMessageHandler.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/handler/MethodInvokingMessageHandler.java @@ -32,6 +32,8 @@ import org.springframework.util.Assert; public class MethodInvokingMessageHandler extends AbstractMessageHandler { private volatile MethodInvokingMessageProcessor processor; + + private volatile String componentType; public MethodInvokingMessageHandler(Object object, Method method) { Assert.isTrue(method.getReturnType().equals(void.class), @@ -42,6 +44,10 @@ public class MethodInvokingMessageHandler extends AbstractMessageHandler { public MethodInvokingMessageHandler(Object object, String methodName) { processor = new MethodInvokingMessageProcessor(object, methodName); } + + public void setComponentType(String componentType) { + this.componentType = componentType; + } @Override protected void handleMessageInternal(Message message) throws Exception { @@ -52,7 +58,8 @@ public class MethodInvokingMessageHandler extends AbstractMessageHandler { } } + public String getComponentType() { - return "outbound-channel-adapter"; + return this.componentType; } }