【发布时间】:2015-04-08 04:38:17
【问题描述】:
当我使用 spring 文档中描述的配置时:
@Configuration
@EnableIntegration
public class MyFlowConfiguration {
@Bean
@InboundChannelAdapter(value = "inputChannel", poller = @Poller(fixedDelay = "1000"))
public MessageSource<String> consoleSource() {
return CharacterStreamReadingMessageSource.stdin();
}
@Bean
@Transformer(inputChannel = "inputChannel", outputChannel = "httpChannel")
public ObjectToMapTransformer toMapTransformer() {
return new ObjectToMapTransformer();
}
@Bean
@ServiceActivator(inputChannel = "httpChannel")
public MessageHandler httpHandler() {
HttpRequestExecutingMessageHandler handler = new HttpRequestExecutingMessageHandler("http://foo/service");
handler.setExpectedResponseType(String.class);
handler.setOutputChannelName("outputChannel");
return handler;
}
@Bean
@ServiceActivator(inputChannel = "outputChannel")
public LoggingHandler loggingHandler() {
return new LoggingHandler("info");
}
}
我可以使用什么样的 bean 定义名称来到达端点? 通过组件使用配置时,文档中提供了信息:
这些注解的处理创建了相同的 bean(AbstractEndpoints 和 MessageHandlers(或入站通道适配器的 MessageSources - 见下文)与类似的 xml 组件。bean 名称使用以下模式生成:[componentName].[methodName] .[decapitalizedAnnotationClassShortName] 用于 AbstractEndpoint 和带有附加 .handler (.source) 后缀的 MessageHandler (MessageSource) bean 的名称相同。MessageHandlers (MessageSources) 也符合第 8.2 节“消息历史记录”的跟踪条件。
但是这里怎么用呢?
【问题讨论】:
标签: java spring spring-integration