如何实现 Mule 消息观察者?
Posted
技术标签:
【中文标题】如何实现 Mule 消息观察者?【英文标题】:How to implement a Mule Message Observer? 【发布时间】:2012-11-01 22:33:36 【问题描述】:我试图在 Mule 上实现一个不需要改变消息的简单消息观察器。
文档中的 link 说最简单的方法是扩展 AbstractMessageObserver。但正如我在this link 上看到的那样,该类已在早期版本的 Mule 中被删除。
那么,现在最好的方法是实现 MessageProcessor 接口并在 process 方法中简单地返回 MuleEvent 参数?
【问题讨论】:
【参考方案1】:如果您需要访问整个MuleEvent
,可以是MessageProcessor
,也可以是实现Callable
的POJO。
否则,如果您只需要观察负载,一个简单的 POJO 组件就可以解决问题。
请注意,Mule 还提供拦截器(和 InterceptingMessageProcessor
s):如果您需要在操作之前/之后运行,或者如果您希望停止处理,请使用拦截器。
【讨论】:
非常感谢。我正在使用 MessageProcessor 解决方案。 实现 MessageProcessor 接口和实现 callable 的 pojo 有什么区别(在性能、调优、行为等方面)? 在使用通过<component>
调用的 POJO 时会有一点开销,因为它通过入口点解析器机制。如果您使用<invoke>
调用您的 POJO,它在开销方面将非常接近自定义消息处理器。但总而言之,这种开销通常比花在 IO 上的时间少几个数量级,后者是集成流程的主体。以上是关于如何实现 Mule 消息观察者?的主要内容,如果未能解决你的问题,请参考以下文章