Skip to content
2 changes: 1 addition & 1 deletion modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Anypoint MQ includes these features:

Queues and Message Exchanges::
Send messages to queues and pull messages from queues.
Use a message exchange to send messages to multiple standard queues simultaneously or
Use a message exchange to send messages to multiple standard or FIFO queues simultaneously or
route messages to specific queues by using intelligent message routing rules.
+
For information, see:
Expand Down
35 changes: 33 additions & 2 deletions modules/ROOT/pages/mq-apis.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Anypoint MQ APIs are available in the https://anypoint.mulesoft.com/exchange/por

== Workflow for an API

This example illustrates the workflow for accessing the Anypoint MQ Broker API:
This example shows the workflow for accessing the Anypoint MQ Broker API:

image::mq-api-workflow.png["Workflow of the Anypoint MQ Broker API"]

Expand Down Expand Up @@ -267,14 +267,15 @@ the API throttles your requests to 50 transactions per minute (TPM).
These examples use the Anypoint MQ Admin API to create queues and message routing rules from the command line using `curl`:

* <<fifo-queue-api>>
* <<fifo-exchange-api>>
* <<routing-rules-api>>
* <<enable-failover-api>>
* <<retrieve-queue-configuration>>

[[fifo-queue-api]]
=== Create a FIFO Queue

You can create a FIFO queue using the Anypoint MQ Admin API by including the `"fifo": true` field.
You can create a FIFO queue using the Anypoint MQ Admin API by including `"fifo": true` in the body.

[NOTE]
The organization from which you use the Administration portal must have an Anypoint MQ FIFO entitlement.
Expand Down Expand Up @@ -313,6 +314,36 @@ The response includes output such as:
},
----

[[fifo-exchange-api]]
=== Create a FIFO Exchange

You can create a FIFO exchange using the Anypoint MQ Admin API by including `"fifo": true` in the body.

[NOTE]
The organization from which you use the Administration portal must have an Anypoint MQ FIFO entitlement.
See xref:mq-faq.adoc[Anypoint MQ FAQ] for the regions where Anypoint MQ is available.

Use a `curl` command like this to create a FIFO exchange:

[source,bash,linenums]
----
curl -X PUT "https://anypoint.mulesoft.com/mq/admin/api/v1/organizations/<ORG_ID>/environments/<ENV_ID>/regions/<REGION_ID>/destinations/exchanges/<EXCHANGE_ID>" \
--header 'Content-Type: application/json' \
--header 'Authorization: bearer <BEARER_TOKEN>' \
--data-raw '{
"encrypted" : false,
"fifo" : true
}'
----

////
The response includes output such as:

[source,json,linenums]
----
<NEED EXAMPLE OUTPUT>
----
////

[[routing-rules-api]]
=== Create or Change Message Routing Rules
Expand Down
2 changes: 1 addition & 1 deletion modules/ROOT/pages/mq-configure.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Create queues, FIFO queues, and dead-letter queues in Anypoint Platform.
Send, receive, and purge messages from queues.
* xref:mq-exchanges.adoc[]
+
Send messages to multiple standard xref:mq-queues.adoc[queues] simultaneously by binding those queues to
Send messages to multiple standard or FIFO xref:mq-queues.adoc[queues] simultaneously by binding those queues to
a message exchange.
+
Route messages to specific queues that are bound to the message exchange
Expand Down
13 changes: 10 additions & 3 deletions modules/ROOT/pages/mq-exchanges.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
= Sending Messages to Multiple Queues Using Message Exchanges

You can send messages to multiple standard
You can send messages to multiple standard or FIFO
xref:mq-queues.adoc[queues] simultaneously by binding those queues to
a _message exchange_.

Expand Down Expand Up @@ -35,20 +35,25 @@ To create a message exchange:
. Click *Destinations*.
. Click the *Add* icon to display the menu:
+
// update screenshot
image::mq-blue-create.png["Add icon in the Anypoint MQ Destinations page"]
. Select *Exchange*.
. Select *Exchange* or *FIFO Exchange*.
+
For *Queue* or *FIFO Queue*, see xref:mq-queues.adoc[].
. In the *Create Exchange* page, name the message exchange.
. Name the message exchange in the *Create Exchange* or *Create FIFO Exchange* page.
+
Message exchange names can contain up to 127 alphanumeric (a-z, A-Z, 0-9) and punctuation (. -) characters.
They can't contain spaces or other characters.
. Click the checkboxes to bind queues to this message exchange:
+
// This screenshot is OK
image::mq-exchange-bind-queues.png["Checkboxes to bind queues to a message exchange in the Create Exchange page"]
+
NOTE: You can bind only standard queues to an exchange and only FIFO queues to a FIFO exchange.
. Click *Save Changes*.
. In the *Destinations* page, click the message exchange type for the new exchange to display the bound queues in the details pane:
+
// update with FIFO Exchange in the left; details is OK
image::mq-exchange-details-pane.png["Destinations page showing the message exchange type and the bound queues in the details pane"]


Expand All @@ -66,6 +71,8 @@ To bind a queue to a message exchange:
+
image::mq-bind-queue-to-exchange2.png["Exchange Settings page showing checkboxes for multiple select, and Unbind and Bind buttons"]
+
NOTE: The page displays only standard queues for a message exchange and only FIFO queues for a FIFO exchange.
+
. In the settings page, click *Bind* or *Unbind* for each single queue you want to bind to or unbind from the message exchange.
+
To select multiple queues to bind to the exchange, select the checkboxes and click the *Bind Selected Queues* button that appears:
Expand Down
8 changes: 7 additions & 1 deletion modules/ROOT/pages/mq-glossary.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Operations that specify:
For information, see xref:anypoint-mq-connector::anypoint-mq-ack.adoc[ACK and NACK Operations].
Binding::
+
A method for specifying a set of standard queues that form a message exchange, enabling apps to send messages to multiple queues.
A method for specifying a set of standard or FIFO queues that form a message exchange, enabling apps to send messages to multiple queues.
+
When you specify which message queues are bound to a message exchange, Anypoint MQ creates and manages the bindings for you.
+
Expand Down Expand Up @@ -95,6 +95,11 @@ include::partial$mq-failover.adoc[tag=fallbackQnotConfig]
+
For information, see xref:mq-failover.adoc[].

[[fifo-exchange]]
FIFO Exchange::
A <<message-exchange,message exchange>> that binds multiple <<fifo-queues,FIFO queues>>,
enabling you to send messages to multiple FIFO queues.

[[fifo-queues]]
FIFO Queue::
A queue that processes messages first-in, first-out (FIFO), ensuring message ordering for applications in which the order of messages must be strictly preserved and enforced.
Expand Down Expand Up @@ -124,6 +129,7 @@ An identifier that allows only a single app to read a queue.
Anypoint MQ provides the lock when an app acknowledges a message from a queue.
Message::
Serializable xref:mule-runtime::about-mule-message.adoc[Mule Message] content that applications send and receive so that they can communicate with each other.
[[message-exchange]]
Message Exchange::
A pub/sub message source with multiple outputs. Applications register to subscribe to messages that the message exchange publishes.
+
Expand Down
4 changes: 2 additions & 2 deletions modules/ROOT/pages/mq-queues.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ image::mq-filters.png["Destinations page showing filter options for message queu
Before using Anypoint MQ, you must create an environment and give users Anypoint MQ access permissions.
See xref:mq-access-management.adoc[].


[[create-queue]]
== Create a Queue

To create a standard queue or FIFO queue:
Expand Down Expand Up @@ -340,7 +340,7 @@ include::partial$mq-faq.adoc[tag=failedTPS]
* In some configurations when using the IMMEDIATE acknowledgment mode in the Subscriber operation, FIFO queues don't process messages in order.
* Before using `prefetch` mode with FIFO queues, see xref:anypoint-mq-connector::anypoint-mq-listener.adoc#fifo-and-prefetch[FIFO Queues and Prefetch Mode].

To create a FIFO queue, see <<Create a Queue>>. To determine if a queue is FIFO or standard (non-FIFO), view its details.
To create a FIFO queue, see <<create-queue>>. To determine if a queue is FIFO or standard (non-FIFO), view its details.

For the regions in which Anypoint MQ and FIFO queues are available, see xref:mq-faq.adoc#mq-regions[Anypoint MQ Regions].

Expand Down