我想在Mule中实现一个获取消息并返回多条消息的流,而不只是一条消息。但是,我不想退回一个集合。我希望输出消息一个接一个地发送出去。我想到的是像message source这样的东西,它通过接收消息来激活。
示例流程将是这样的:
message [a bunch of values for some SQL placeholders] -->
--> VM inbound-endpoint -->
--> Custom DB component/connector
(which executes an SQL query with the information from the inbound message)
"a new message is generated for each row returned by the SELECT query" -->
--> VM outbound-enpoint
我首先想到的是编写一个实现MessageSource和Callable接口的组件。但这似乎不起作用。
有任何想法/建议吗?
答案 0 :(得分:0)
我宁愿返回一个集合,然后使用Splitter或Foreach逐个发送项目。但是,如果你真的需要一个接收单个消息并发出多条消息的自定义处理器,那么一个非常简单的方法就是扩展AbstractMessageSequenceSplitter。