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