如何从spring bean接收/发送vm:// mule消息?

时间:2015-10-09 20:58:10

标签: java spring mule mule-component

我想实例化一个bean并向/从流发送/接收vm://消息。我跟着this但是被覆盖的方法没有得到任何消息。我是否需要实例化VM连接器并将其引用传递给首先实现MuleSubscriptionEventListener的bean?

2 个答案:

答案 0 :(得分:2)

VM在许多情况下都非常有效,特别是在具有HA群集的Mule EE中。

如果你需要从弹簧引用的java组件发送到vm,你有两个选择:

答案 1 :(得分:0)

通常Mule鼓励开发人员不再使用vm-endpoints,例如参见Mule VM docs

引用:

  

VM传输通常用于实现复杂的集成   由多个应用程序组成。骡子3的改进避免了   在许多情况下需要VM。您可以直接使用Flow References   在没有中间运输的情况下引用另一个流量。

我真的会考虑Flow References,它们会好得多。对于VM-Endpoints,Mule创建了一个完全不同的东西(在消息有效负载的头部传递变量)等等。

VM端点只有在您想要从外部调用某些子流时才有意义,例如来自单元测试。

我认为您链接的文档中描述的实现非常复杂。为什么不简单地将Java-Component放入链接到Spring bean的Mule流程中?这样你就可以完全控制从Mule到Spring的调用。它可以是Java Transformer或Java Component。我认为Java Component听起来更像你需要的东西:

请参阅:https://docs.mulesoft.com/mule-user-guide/v/3.6/using-spring-beans-as-flow-components