# Reliable messaging with VM and Anypoint MQ

*MuleSoft Developer II Study Guide · Implement performant and reliable Mule applications · Last updated November 7, 2026 · https://www.certifyforce.com/study-guide/mulesoft-developer-ii/implement-performant-and-reliable-mule-applications/reliable-messaging-with-vm-and-anypoint-mq*

Configure VM delivery controls and Anypoint MQ settlement, preserve broker evidence, and publish distinct business events and routing metadata deliberately.

- Certification: Salesforce MuleSoft Developer II
- Exam section: Implement performant and reliable Mule applications
- Study guide: https://www.certifyforce.com/study-guide/mulesoft-developer-ii

**Official exam objective:**

> Implement fault-tolerant, performant, and traceable message passing with the VM and AnypointMQ connectors.

## What the exam expects

- Configure VM consumption, transactions and redelivery identity separately.
- Choose MQ consumption and acknowledgement boundaries for the processing contract.
- Preserve broker traceability and publish identity without conflating business events.
- Publish body content, media type and user properties deliberately.

A **consumer** pulls queued work into a flow; **redelivery** repeats broker delivery; **ACK** settles a message; **NACK** returns it for delivery; **message ID** identifies the published message; **user properties** carry application-defined metadata ([VM reference](https://docs.mulesoft.com/vm-connector/latest/vm-reference), [MQ acknowledgements](https://docs.mulesoft.com/anypoint-mq-connector/latest/anypoint-mq-ack), [Publication](https://docs.mulesoft.com/anypoint-mq-connector/latest/anypoint-mq-publish)).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| VM capacity | Number Of Consumers controls concurrent queue consumption. | [VM](https://docs.mulesoft.com/vm-connector/latest/vm-reference) |
| VM transaction start | Listener `ALWAYS_BEGIN` starts the source transaction. | [VM](https://docs.mulesoft.com/vm-connector/latest/vm-reference) |
| Redelivery identity | Java payloads use `hashCode()` unless an explicit ID strategy is selected. | [Redelivery](https://docs.mulesoft.com/mule-runtime/4.6/redelivery-policy) |
| Consume destination | Anypoint MQ Consume reads queues, not exchanges. | [Consume](https://docs.mulesoft.com/anypoint-mq-connector/latest/anypoint-mq-consume) |
| AUTO settlement | Successful Subscriber flow completes acknowledgement. | [ACK](https://docs.mulesoft.com/anypoint-mq-connector/latest/anypoint-mq-ack) |
| MANUAL settlement | Application logic retains and uses `ackToken`. | [ACK](https://docs.mulesoft.com/anypoint-mq-connector/latest/anypoint-mq-ack) |
| Failure settlement | NACK returns a message for redelivery. | [ACK](https://docs.mulesoft.com/anypoint-mq-connector/latest/anypoint-mq-ack) |
| Publish body | Defaults to the incoming payload serialized as a string. | [Publish](https://docs.mulesoft.com/anypoint-mq-connector/latest/anypoint-mq-publish) |
| FIFO retry identity | Reuse the same business-event ID for that event's publish retry. | [Message ID](https://docs.mulesoft.com/anypoint-mq-connector/latest/anypoint-mq-publish) |
| Media type | Send Content Type publishes the body's media type property. | [Publish](https://docs.mulesoft.com/anypoint-mq-connector/latest/anypoint-mq-publish) |

## Check yourself

- Why can a body field be present while broker property routing still lacks its input?
- When a routing rule compares a numeric user property, why is the value's type relevant?
- Where can you inspect the user properties actually published with an MQ message?

## Sources

- [VM Connector Reference](https://docs.mulesoft.com/vm-connector/latest/vm-reference)
- [Mule 4.6 Redelivery Policy](https://docs.mulesoft.com/mule-runtime/4.6/redelivery-policy)
- [Anypoint MQ ACK and NACK Operations](https://docs.mulesoft.com/anypoint-mq-connector/latest/anypoint-mq-ack)
- [Anypoint MQ Consume Operation](https://docs.mulesoft.com/anypoint-mq-connector/latest/anypoint-mq-consume)
- [Anypoint MQ Connector Reference](https://docs.mulesoft.com/anypoint-mq-connector/latest/anypoint-mq-connector-reference)
- [Anypoint MQ Publish Operation](https://docs.mulesoft.com/anypoint-mq-connector/latest/anypoint-mq-publish)
- [Historical MQ4 Publish Operation](https://raw.githubusercontent.com/mulesoft/docs-connectors/33276ccdb80668dd8bd45102a529a5fcc0918eea/anypoint-mq/4.x/modules/ROOT/pages/anypoint-mq-publish.adoc)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 18 linked practice questions, and unlimited timed mock exams are included with the MuleSoft Developer II pack (USD $19): https://www.certifyforce.com/practice-exams
