lambda - Spring 集成 DSL - CharacterStreamWritingMessageHandler
问题描述
我正在为 basic-amqp 示例编写示例代码(https://github.com/spring-projects/spring-integration-samples/blob/master/basic/amqp/src/main/resources/META-INF/spring/ DSL 中的 integration/spring-integration-context.xml )
@Bean
public IntegrationFlow receiveGreetingFromGreetingQueueToConsole(ConnectionFactory connectionFactory) {
return IntegrationFlows.from(Amqp.inboundAdapter(connectionFactory, "greeting.queue"))
.log()
.<String,String>transform(m -> "Received " + m)
.handle(CharacterStreamWritingMessageHandler.stdout())
.get();
}
如何应用 setShouldAppendNewLine 布尔值
.handle(CharacterStreamWritingMessageHandler.stdout())
我不想将处理程序声明为仅设置此属性的 bean。希望标准输出为此接受了一个参数。
解决方案
不一定是豆子...
@Bean
public IntegrationFlow receiveGreetingFromGreetingQueueToConsole(ConnectionFactory connectionFactory) {
CharacterStreamWritingMessageHandler stdout = CharacterStreamWritingMessageHandler.stdout();
stdout.setShouldAppendNewLine(true);
return IntegrationFlows.from(Amqp.inboundAdapter(connectionFactory, "greeting.queue"))
.log()
.<String,String>transform(m -> "Received " + m)
.handle(stdout)
.get();
}
但是,我同意 DSL 使用流畅的 API 会很好。请在 GitHub 上打开一个问题。
推荐阅读
- jquery - Jquery不会让我在css中使用计数器?
- php - 无法使用 CI 控制器将文件上传到 codeigniter 文件夹
- python - 在 Python 中通过 TCP 发送/接收多条消息
- sql - SQL。将 datediff 小时数转换为 dd.hh:mm:ss
- java - xpath 每天都在变化
- node.js - 更新 package.json 以反映已安装的包
- javascript - Jquery-timeago Uncaught TypeError:无法读取未定义的属性“替换”
- laravel-5 - 当点击提交错误发生时
- android - 是否可以从活动堆栈中删除几个活动
- c++ - 如何在 C++ 中将值拆分为单个十进制整数