---
id: "qpid"
type: "component"
kind: "queue"
provider: "default"
category: "messaging"
docs: "https://qpid.apache.org/releases/qpid-broker-j-9.2.1/book/Java-Broker-Concepts-Queues.html"
url: "https://localhost:3000/catalogue/components/qpid"
---

# Apache Qpid Broker-J

Pure-Java AMQP message broker supporting AMQP 0-8 through 1.0.

| | |
|---|---|
| Provider | [default](https://localhost:3000/catalogue?provider=default) |
| Kind | [Queue](https://localhost:3000/catalogue/kinds/queue) |
| Category | Messaging |
| Official docs | [https://qpid.apache.org/releases/qpid-broker-j-9.2.1/book/Java-Broker-Concepts-Queues.html](https://qpid.apache.org/releases/qpid-broker-j-9.2.1/book/Java-Broker-Concepts-Queues.html) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `backoff` | enum | `none`, `fixed`, `exponential`, `exponential-jitter` | no | — | inherited |
| `deadLetterQueue` | boolean | — | no | false | **false** |
| `delivery` | enum | `at-most-once`, `at-least-once`, `exactly-once` | yes | — | **"at-least-once"** |
| `highAvailability` | boolean | — | no | false | inherited |
| `instances` | integer | — | no | — | inherited |
| `managed` | boolean | — | no | false | **false** |
| `maxAttempts` | integer | — | no | — | inherited |
| `ordering` | enum | `none`, `per-key`, `global` | no | "none" | **"none"** |
| `persistence` | boolean | — | no | true | **true** |
| `protocolVersion` | enum | `amqp-0-8`, `amqp-0-9`, `amqp-0-9-1`, `amqp-0-10`, `amqp-1-0` | no | "amqp-1-0" | inherited |
| `queueType` | enum | `standard`, `priority`, `sorted`, `lvq` | no | "standard" | inherited |
| `replay` | boolean | — | no | false | **false** |
| `retentionDays` | integer | — | no | — | inherited |
| `role` | enum | `work`, `dlq`, `retry`, `offline-mailbox`, `frontier` | no | "work" | inherited |

Bold values are the ones this component pins.

## Rules that apply · 3

### Queue without dead-letter queue `queue-missing-dlq` (error)

- Page: https://localhost:3000/catalogue/rules/queue-missing-dlq.md
- Why: A queue that receives asynchronous traffic and has no dead-letter queue either drops poison messages or retries them forever. Neither outcome leaves anything for a human to investigate.
- Applies to: every node of kind queue
- Message: Queue '{{node.id}}' receives async traffic but has no dead-letter queue.

It fires when:

- all of these hold:
  - the node's `deadLetterQueue` is false
  - the node has at least one asynchronous incoming edge

### Retry queue without dead-letter queue `retry-queue-without-dlq` (error)

- Page: https://localhost:3000/catalogue/rules/retry-queue-without-dlq.md
- Why: A retry queue is where poison messages end up. With no dead-letter queue they are retried forever or dropped in silence, and nobody ever looks at the failed payment.
- Applies to: every node of kind queue
- Message: Retry queue '{{node.id}}' has no dead-letter queue. Messages that keep failing must be parked for manual investigation.

It fires when:

- all of these hold:
  - the node's `role` is "retry"
  - the node's `deadLetterQueue` is false

### Retry queue without backoff `retry-without-backoff` (warning)

- Page: https://localhost:3000/catalogue/rules/retry-without-backoff.md
- Why: Retrying a transient failure at full speed turns one slow dependency into a retry storm. A retry queue backs off, preferably exponentially and with jitter.
- Applies to: every node of kind queue
- Message: Retry queue '{{node.id}}' declares no backoff. Retries without backoff amplify the outage they are retrying through.

It fires when:

- all of these hold:
  - the node's `role` is "retry"
  - any of these hold:
    - the node's `backoff` has no value
    - the node's `backoff` is "none"

## Other products of the same kind · 23

- [Simple Message Queue (formerly MNS)](https://localhost:3000/catalogue/components/alibaba-mns.md) `alibaba-mns` — alibabacloud
- [ApsaraMQ for RabbitMQ](https://localhost:3000/catalogue/components/alibaba-rabbitmq.md) `alibaba-rabbitmq` — alibabacloud
- [ApsaraMQ for RocketMQ](https://localhost:3000/catalogue/components/alibaba-rocketmq.md) `alibaba-rocketmq` — alibabacloud
- [Amazon MQ](https://localhost:3000/catalogue/components/aws-mq.md) `aws-mq` — aws
- [Amazon SQS](https://localhost:3000/catalogue/components/sqs.md) `sqs` — aws
- [Azure Queue Storage](https://localhost:3000/catalogue/components/azure-queue-storage.md) `azure-queue-storage` — azure
- [Azure Service Bus](https://localhost:3000/catalogue/components/azure-service-bus.md) `azure-service-bus` — azure
- [Cloudflare Queues](https://localhost:3000/catalogue/components/cloudflare-queues.md) `cloudflare-queues` — cloudflare
- [Apache ActiveMQ](https://localhost:3000/catalogue/components/activemq.md) `activemq` — default
- [Gearman](https://localhost:3000/catalogue/components/gearman.md) `gearman` — default
- [IBM MQ](https://localhost:3000/catalogue/components/ibm-mq.md) `ibm-mq` — default
- [Message queue](https://localhost:3000/catalogue/components/message-queue.md) `message-queue` — default
- [NSQ](https://localhost:3000/catalogue/components/nsq.md) `nsq` — default
- [Generic queue](https://localhost:3000/catalogue/components/queue.md) `queue` — default
- [RabbitMQ](https://localhost:3000/catalogue/components/rabbitmq.md) `rabbitmq` — default
- [Redis queue](https://localhost:3000/catalogue/components/redis-queue.md) `redis-queue` — default
- [Solace PubSub+ Event Broker](https://localhost:3000/catalogue/components/solace.md) `solace` — default
- [TIBCO Enterprise Message Service](https://localhost:3000/catalogue/components/tibco-ems.md) `tibco-ems` — default
- [Google Cloud Tasks](https://localhost:3000/catalogue/components/google-cloud-tasks.md) `google-cloud-tasks` — gcp
- [IBM Cloud Messages for RabbitMQ](https://localhost:3000/catalogue/components/ibm-messages-for-rabbitmq.md) `ibm-messages-for-rabbitmq` — ibm
- [IBM MQ on Cloud](https://localhost:3000/catalogue/components/ibm-mq-on-cloud.md) `ibm-mq-on-cloud` — ibm
- [OCI Queue](https://localhost:3000/catalogue/components/oci-queue.md) `oci-queue` — oci
- [OpenStack Zaqar](https://localhost:3000/catalogue/components/openstack-zaqar.md) `openstack-zaqar` — openstack

## Use it in a design

```yaml
nodes:
  - { id: "qpid", component: "qpid" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# Apache Qpid Broker-J: pure-Java AMQP broker (0-8 through 1.0) whose standard queue is a simple FIFO
# and whose configuration and message stores are on-disk ("Java Broker Concepts", "Queues").
schemaVersion: "1"
type: "component"
id: "qpid"
kind: "queue"
provider: "default"
docs: "https://qpid.apache.org/releases/qpid-broker-j-9.2.1/book/Java-Broker-Concepts-Queues.html"
defaults:
  delivery: "at-least-once"
  ordering: "none"
  deadLetterQueue: false
  persistence: true
  replay: false
  managed: false
properties:
  queueType:
    type: "enum"
    values: ["standard", "priority", "sorted", "lvq"]
    default: "standard"
  protocolVersion:
    type: "enum"
    values: ["amqp-0-8", "amqp-0-9", "amqp-0-9-1", "amqp-0-10", "amqp-1-0"]
    default: "amqp-1-0"
  highAvailability:
    type: "boolean"
    default: false
```

Human page: https://localhost:3000/catalogue/components/qpid
