Liking cljdoc? Tell your friends :D

d-core.core.clients.jetstream

No vars found in this namespace.

d-core.core.clients.kafka

No vars found in this namespace.

d-core.core.clients.rabbitmq

No vars found in this namespace.

d-core.core.clients.sqs

No vars found in this namespace.

d-core.core.consumers.consumer

No vars found in this namespace.

d-core.core.consumers.in-mem-consumer

No vars found in this namespace.

d-core.core.consumers.jetstream

No vars found in this namespace.

d-core.core.consumers.kafka

No vars found in this namespace.

d-core.core.consumers.rabbitmq

No vars found in this namespace.

d-core.core.consumers.redis

No vars found in this namespace.

d-core.core.consumers.sqs

No vars found in this namespace.

d-core.core.messaging.codecs

No vars found in this namespace.

d-core.core.messaging.codecs.edn

No vars found in this namespace.

d-core.core.messaging.codecs.json

No vars found in this namespace.

d-core.core.messaging.dead-letter

Dead letter support (public facade).

This namespace is intentionally small and stable:

  • It provides the public API (DeadLetterProtocol, send-dead-letter!, helpers)
  • It requires all built-in sink implementations so Integrant can resolve their keys

Protocol

  • d-core.core.messaging.dead-letter.protocol

Built-in implementations

  • Logger sink: d-core.core.messaging.dead-letter.sinks.logger
  • Storage sink: d-core.core.messaging.dead-letter.sinks.storage
  • Producer sink: d-core.core.messaging.dead-letter.sinks.producer
  • Common facade (sink selection/fallback): d-core.core.messaging.dead-letter.common

Extending

Add a new sink under d-core.core.messaging.dead-letter.sinks.* and implement DeadLetterProtocol. If you want it to be wired via Integrant, define a (defmethod ig/init-key ...) in that namespace and ensure it gets required (either by requiring this facade, or by requiring your sink namespace directly).

Dead letter support (public facade).

This namespace is intentionally small and stable:
- It provides the public API (`DeadLetterProtocol`, `send-dead-letter!`, helpers)
- It *requires* all built-in sink implementations so Integrant can resolve their keys

## Protocol
- `d-core.core.messaging.dead-letter.protocol`

## Built-in implementations
- Logger sink: `d-core.core.messaging.dead-letter.sinks.logger`
- Storage sink: `d-core.core.messaging.dead-letter.sinks.storage`
- Producer sink: `d-core.core.messaging.dead-letter.sinks.producer`
- Common facade (sink selection/fallback): `d-core.core.messaging.dead-letter.common`

## Extending
Add a new sink under `d-core.core.messaging.dead-letter.sinks.*` and implement
`DeadLetterProtocol`. If you want it to be wired via Integrant, define a
`(defmethod ig/init-key ...)` in that namespace and ensure it gets required
(either by requiring this facade, or by requiring your sink namespace directly).
raw docstring

d-core.core.messaging.dead-letter.admin.storage

No vars found in this namespace.

d-core.core.messaging.dead-letter.common

No vars found in this namespace.

d-core.core.messaging.dead-letter.destination

Dead-letter destination derivation.

This module provides transport-aware defaults so most topics do not need any explicit DLQ topic configuration.

Convention (default): append .dl to the transport-specific destination name.

Dead-letter destination derivation.

This module provides transport-aware defaults so most topics do not need any
explicit DLQ topic configuration.

Convention (default): append `.dl` to the transport-specific destination name.
raw docstring

d-core.core.messaging.dead-letter.metadata

Helpers for enriching envelopes with standardized DLQ metadata.

The canonical location for DLQ state is:

  • [:metadata :dlq]

This metadata is designed to be portable across sinks (logger/storage/producer) and across replay mechanisms.

Helpers for enriching envelopes with standardized DLQ metadata.

The canonical location for DLQ state is:
- `[:metadata :dlq]`

This metadata is designed to be portable across sinks (logger/storage/producer)
and across replay mechanisms.
raw docstring

d-core.core.messaging.dead-letter.policy

Dead-letter policy: classification + destination selection.

Policies decide:

  • whether a dead-letter is eligible for auto replay vs stuck/poison/manual
  • which sink to use (logger/storage/producer/hybrid)
  • which destination to publish to (e.g. retry vs stuck DLQ topics)
  • limits like :max-attempts / :delay-ms

The effective per-topic configuration is expected to be present on the envelope at:

  • [:metadata :dlq :deadletter] (populated by consumer runtimes).
Dead-letter policy: classification + destination selection.

Policies decide:
- whether a dead-letter is eligible for auto replay vs stuck/poison/manual
- which sink to use (logger/storage/producer/hybrid)
- which destination to publish to (e.g. retry vs stuck DLQ topics)
- limits like :max-attempts / :delay-ms

The effective per-topic configuration is expected to be present on the envelope at:
- `[:metadata :dlq :deadletter]`
(populated by consumer runtimes).
raw docstring

d-core.core.messaging.dead-letter.replay.redis

No vars found in this namespace.

d-core.core.messaging.dead-letter.sinks.logger

No vars found in this namespace.

d-core.core.messaging.dead-letter.sinks.producer

No vars found in this namespace.

d-core.core.messaging.dead-letter.sinks.storage

No vars found in this namespace.

d-core.core.messaging.deferred.scheduler

No vars found in this namespace.

d-core.core.producers.common

No vars found in this namespace.

d-core.core.producers.in-memory

No vars found in this namespace.

d-core.core.producers.jetstream

No vars found in this namespace.

d-core.core.producers.kafka

No vars found in this namespace.

d-core.core.producers.producer

No vars found in this namespace.

d-core.core.producers.rabbitmq

No vars found in this namespace.

d-core.core.producers.redis

No vars found in this namespace.

d-core.core.stream.in-mem.in-mem

No vars found in this namespace.

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close