在重置ActiveMQ连接后,VM连接器上的<default-persistent-queue-store>是否按原始顺序发送消息?</default-persistent-queue-store>

时间:2015-03-04 01:47:19

标签: jms mule virtual-machine esb mule-studio

我正在将Anyles studio的mulesoft ESB用于项目。在我的一个流程中,我使用单向消息交换模式从VM(默认持久性队列存储VM连接器)调度到JMS,启用xa事务以避免丢失消息。我还确保使用一个JMS使用者,以便保留消息顺序(即JMS按原始顺序使用)。

1)&#34; default-persistent-queue-store&#34;配置。将消息存储在某种哈希/字典中?问题是当与ActiveMQ(JMS提供程序)的连接重置时,存储在VM队列中的消息不会按原始顺序分派。这是预期的吗?

2)有没有办法定制&#34; default-persistent-queue-store&#34;配置。如果连接到ActiveMQ重置,在VM连接器上实现消息的顺序?

3)还有其他方法可以实现同样的目标吗?

4)我找不到如何指定&#34; FilePersistenceStrategy&#34;的示例。在VM连接器上,有人可以告诉我一个在某处使用它的例子吗?它在http://www.mulesoft.org/documentation/display/current/VM+Transport+Reference

上提到过

1 个答案:

答案 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.