AMQP · Schema
AMQP Exchange
Schema describing an AMQP 0-9-1 exchange. Exchanges receive messages from producers and route them to queues based on the exchange type and binding rules. The four standard exchange types are direct, topic, fanout, and headers.
AMQPAsynchronousMessage QueueMessagingMiddlewareOpen StandardPublish Subscribe
Properties
| Name | Type | Description |
|---|---|---|
| name | string | The name of the exchange. The empty string denotes the default (nameless) direct exchange. |
| type | string | The exchange type which determines the routing algorithm. |
| durable | boolean | If true, the exchange survives broker restarts. Non-durable exchanges are deleted on restart. |
| autoDelete | boolean | If true, the exchange is automatically deleted when the last queue is unbound from it. |
| internal | boolean | If true, the exchange cannot be directly published to by clients; it can only receive messages from other exchanges via exchange-to-exchange bindings. |
| arguments | object | Optional arguments for exchange declaration, used for broker-specific extensions (e.g., alternate exchange). |
JSON Schema
{
"$id": "amqp-exchange.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "AMQP Exchange",
"description": "Schema describing an AMQP 0-9-1 exchange. Exchanges receive messages from producers and route them to queues based on the exchange type and binding rules. The four standard exchange types are direct, topic, fanout, and headers.",
"type": "object",
"required": [
"name",
"type"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the exchange. The empty string denotes the default (nameless) direct exchange."
},
"type": {
"type": "string",
"description": "The exchange type which determines the routing algorithm.",
"enum": [
"direct",
"topic",
"fanout",
"headers"
]
},
"durable": {
"type": "boolean",
"description": "If true, the exchange survives broker restarts. Non-durable exchanges are deleted on restart.",
"default": false
},
"autoDelete": {
"type": "boolean",
"description": "If true, the exchange is automatically deleted when the last queue is unbound from it.",
"default": false
},
"internal": {
"type": "boolean",
"description": "If true, the exchange cannot be directly published to by clients; it can only receive messages from other exchanges via exchange-to-exchange bindings.",
"default": false
},
"arguments": {
"type": "object",
"description": "Optional arguments for exchange declaration, used for broker-specific extensions (e.g., alternate exchange).",
"properties": {
"alternate-exchange": {
"type": "string",
"description": "Name of an alternate exchange to route messages to when they cannot be routed by this exchange."
}
},
"additionalProperties": true
}
},
"additionalProperties": false
}