INT-931 header-enricher now supports method invocation

This commit is contained in:
Mark Fisher
2009-12-23 21:49:54 +00:00
parent 99a577372e
commit f0ba127305
5 changed files with 84 additions and 19 deletions

View File

@@ -82,4 +82,12 @@
<header name="number" expression="12345" type="java.lang.Long"/>
</header-enricher>
<header-enricher input-channel="refWithMethod">
<header name="testHeader" ref="testBean" method="getName"/>
</header-enricher>
<beans:bean id="testBean" class="org.springframework.integration.config.xml.HeaderEnricherTests$TestBean">
<beans:constructor-arg value="testBeanForMethodInvoker"/>
</beans:bean>
</beans:beans>

View File

@@ -171,6 +171,16 @@ public class HeaderEnricherTests {
assertEquals(new Long(12345), result.getHeaders().get("number"));
}
@Test
public void refWithMethod() {
SimpleMessagingGateway gateway = new SimpleMessagingGateway();
gateway.setRequestChannel(context.getBean("refWithMethod", MessageChannel.class));
Message<?> result = gateway.sendAndReceiveMessage("test");
assertNotNull(result);
assertEquals(String.class, result.getHeaders().get("testHeader").getClass());
assertEquals("testBeanForMethodInvoker", result.getHeaders().get("testHeader"));
}
public static class TestBean {