{"id":16178920,"url":"https://github.com/julian-eggers/spring-rabbitmq-dead-letter-queue-example","last_synced_at":"2025-07-19T12:33:11.509Z","repository":{"id":73946984,"uuid":"77959787","full_name":"julian-eggers/spring-rabbitmq-dead-letter-queue-example","owner":"julian-eggers","description":"Spring RabbitMQ Dead Letter Queue (DLQ) Example","archived":false,"fork":false,"pushed_at":"2019-01-12T10:58:22.000Z","size":21,"stargazers_count":8,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T21:07:33.379Z","etag":null,"topics":["dead-letter-queue","dlq","java","rabbitmq","spring","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/julian-eggers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-03T22:45:06.000Z","updated_at":"2022-05-02T14:26:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"20f96419-9f65-4888-8dc8-765284aeb20c","html_url":"https://github.com/julian-eggers/spring-rabbitmq-dead-letter-queue-example","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/julian-eggers/spring-rabbitmq-dead-letter-queue-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julian-eggers%2Fspring-rabbitmq-dead-letter-queue-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julian-eggers%2Fspring-rabbitmq-dead-letter-queue-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julian-eggers%2Fspring-rabbitmq-dead-letter-queue-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julian-eggers%2Fspring-rabbitmq-dead-letter-queue-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/julian-eggers","download_url":"https://codeload.github.com/julian-eggers/spring-rabbitmq-dead-letter-queue-example/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julian-eggers%2Fspring-rabbitmq-dead-letter-queue-example/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265934197,"owners_count":23852087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dead-letter-queue","dlq","java","rabbitmq","spring","spring-boot"],"created_at":"2024-10-10T05:24:53.590Z","updated_at":"2025-07-19T12:33:11.472Z","avatar_url":"https://github.com/julian-eggers.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"RabbitMQ Dead Letter Queue Example with Spring\n==============================================\n\n## Concept\n- Every queue has its dead letter queue\n- Dead letter messages are routed directly to the dead letter queue, not via bindings\n- Dead letter queues are [lazy](https://www.rabbitmq.com/lazy-queues.html) to save resources\n\nThis is different to the [rabbitmq-concept](https://www.rabbitmq.com/dlx.html) which recommends to use a separate exchange to route the dead letter messages.\n\n\n## Queue Properties\n\n### Queue\n- x-dead-letter-exchange=\n- x-dead-letter-routing-key=DLQ-Name\n\n### Dead letter queue\n- x-queue-mode=lazy\n\n\n## Docker Example\nRun the following command to start a container which creates example-queues and sends messages to them.\nIt tries to connect to a rabbitmq-server on localhost with username \"guest\" and password \"guest\".\n\n```\ndocker run \\\n-d \\\n--name=spring-rabbitmq-dead-letter-queue-example \\\n-p 8080:8080 \\\njeggers/spring-rabbitmq-dead-letter-queue-example:latest \\\n--spring.rabbitmq.addresses=localhost \\\n--spring.rabbitmq.username=guest \\\n--spring.rabbitmq.password=guest\n```\n\n### Endpoints to check the result\n- http://localhost:8080/actuator/prometheus\n- http://localhost:8080/actuator/health\n\n\n## Build \u0026 Release\n\n### Build\n```\nmvn clean package dockerfile:build\n```\n\n### Release\n```\nmvn clean package dockerfile:build dockerfile:tag@tag-latest dockerfile:tag@tag-version dockerfile:push@push-latest dockerfile:push@push-version github-release:release\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulian-eggers%2Fspring-rabbitmq-dead-letter-queue-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjulian-eggers%2Fspring-rabbitmq-dead-letter-queue-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulian-eggers%2Fspring-rabbitmq-dead-letter-queue-example/lists"}