我正在将Anyles studio的mulesoft ESB用于项目。在我的一个流程中,我使用单向消息交换模式从VM(默认持久性队列存储VM连接器)调度到JMS,启用xa事务以避免丢失消息。我还确保使用一个JMS使用者,以便保留消息顺序(即JMS按原始顺序使用)。
1)" default-persistent-queue-store"配置。将消息存储在某种哈希/字典中?问题是当与ActiveMQ(JMS提供程序)的连接重置时,存储在VM队列中的消息不会按原始顺序分派。这是预期的吗?
2)有没有办法定制" default-persistent-queue-store"配置。如果连接到ActiveMQ重置,在VM连接器上实现消息的顺序?
3)还有其他方法可以实现同样的目标吗?
4)我找不到如何指定" FilePersistenceStrategy"的示例。在VM连接器上,有人可以告诉我一个在某处使用它的例子吗?它在http://www.mulesoft.org/documentation/display/current/VM+Transport+Reference
上提到过答案 0 :(得分:0)
1)默认情况下,它将使用内存中的hashmap。如果我没有错,订单将会丢失。
2)不,但你可以传递其他人
<vm:connector name="myConnector">
<vm:queue-profile maxOutstandingMessages="500" >
<file-queue-store/>
</vm:queue-profile>
</vm:connector>
3)如果使用请求 - 响应,则可能不需要hashmap。您也可以考虑使用flow-ref而不是vm端点。
4)见2.