【发布时间】:2015-01-29 09:55:16
【问题描述】:
doc 说:如果没有具有此名称的 bean,则将在上下文启动时创建新的 DirectChannel bean。
@MessagingGateway
public interface Responder {
@Gateway(requestChannel = "request.input")
String respond(String request);
}
@Bean
public IntegrationFlow doResponse(){
return IntegrationFlows
.from("request.input")
.transform("payload")
.get();
}
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {IntegrationConfiguration.class})
public class GatewayTests {
@Autowired Responder responder;
@Test
public void test(){
responder.respond("request");
}
}
这会导致:没有定义名为“request.input”的 bean 我是否遗漏了一些触发频道创建的内容?
弹簧启动:1.1.9.RELEASE 弹簧集成-java-dsl:1.0.0.RELEASE 弹簧集成:4.0.4.RELEASE
【问题讨论】:
-
好的,我认为我的错误:IntegrationComponentScan 没有为 MessagingGateway 创建通道
-
好吧,我完全迷路了。 IntegrationFlow 在哪里知道调用响应程序?