Can anyone share knowledge on jms queue vs vm queue. where vm queue persist messages? [closed]

Mule’s VM by default persist messages in in-memory queue. That’s the reason the message gets lost for the messages that are not proceed when server goes down.
You can configure VM to persist message on disk. Something like the following :-

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

Please Note: VM file persistency will not work on cluster env.
reference :- https://docs.mulesoft.com/mule-user-guide/v/3.6/vm-transport-reference
On the other hand JMS are external to Mule and use message broker, so it doesn’t effect if Mule server goes down as the unprocessed can be still accessible when Mule serve comes up.

For more comparison, you can check the following article :- https://www.ricston.com/blog/vm-jms/

Leave a Comment