Jms 确实<;默认持久队列存储/>;在重置ActiveMQ连接后,on VM连接器是否按原始顺序发送消息?

Jms 确实<;默认持久队列存储/>;在重置ActiveMQ连接后,on VM连接器是否按原始顺序发送消息?,jms,mule,virtual-machine,esb,mule-studio,Jms,Mule,Virtual Machine,Esb,Mule Studio,我正在将mulesoft ESB与Anypoint studio一起用于一个项目。在我的一个流中,我使用单向消息交换模式从VM(默认的持久队列存储VM连接器)调度到JMS,这两个xa事务都启用,以避免丢失消息。我还确保使用一个JMS使用者,以便保留消息的顺序(即JMS以原始顺序使用) 1) 执行“默认持久队列存储”配置。将消息存储在某种哈希/字典中?问题是,当与ActiveMQ(JMS提供程序)的连接重置时,存储在VM队列中的消息不会按原始顺序进行调度。这是预期的吗 2) 是否有方法自定义“默认

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

1) 执行“默认持久队列存储”配置。将消息存储在某种哈希/字典中?问题是,当与ActiveMQ(JMS提供程序)的连接重置时,存储在VM队列中的消息不会按原始顺序进行调度。这是预期的吗

2) 是否有方法自定义“默认持久队列存储”配置。如果与ActiveMQ的连接重置,是否在VM连接器上实现消息顺序

3) 有没有其他方法可以达到同样的效果

4) 我找不到一个如何在VM连接器上指定“FilePersistenceStrategy”的示例,有人能给我举一个在某处使用的示例吗?默认情况下,它将使用内存中的hashmap。如果我没弄错,订单就会丢失

2) 不,但是你可以超过其他人

<vm:connector name="myConnector">
   <vm:queue-profile maxOutstandingMessages="500" >
     <file-queue-store/>
   </vm:queue-profile>
</vm:connector>

3) 如果使用请求-响应,则可能不需要hashmap。也可以考虑流REF而不是VM端点。

4) 参见第2页。

谢谢Victor,我试过了,得到了相同的结果,邮件顺序丢失了。但是,你能详细说明“你也可以考虑流REF而不是VM端点吗?”这能帮助我实现消息的顺序吗?