任何人都可以分享有关jms队列与vm队列的知识。哪里有vm队列持久消息?

时间:2016-05-29 06:19:12

标签: mule mule-studio mule-component

任何人都可以分享有关jms队列与vm队列的知识。其中vm队列持久化消息。请与任何可以理解的例子分享

vm queue vs jms queue ..我正在使用activemq消息代理来实现jms。我想知道jms队列和vmqueue之间的区别。

2 个答案:

答案 0 :(得分:1)

Mule的VM 默认会在内存中队列中保留消息。这就是服务器停机时消息丢失的原因 您可以将VM配置为在磁盘上保留消息 。类似于以下内容: -

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

请注意: VM文件持久性不适用于群集环境 参考: - https://docs.mulesoft.com/mule-user-guide/v/3.6/vm-transport-reference
另一方面,JMS是Mule的外部并且使用消息代理,因此如果Mule服务器关闭则不会起作用,因为当Mule服务出现时仍然可以访问未处理的服务器。

要进行更多比较,您可以查看以下文章: - https://www.ricston.com/blog/vm-jms/

答案 1 :(得分:0)

VM是内存中的,只支持队列,非持久性

JMS,单独的消息代理,支持队列和主题,可以保留

因此,对于VM,当Mule实例关闭时,仍然在内存队列中的消息将丢失。

来自文档的此链接为您提供了更多信息: https://docs.mulesoft.com/mule-management-console/v/3.7/reliability-patterns#comparing-endpoints-in-reliability-patterns