{"id":40559692,"url":"https://github.com/olle/query-response-spring-amqp","last_synced_at":"2026-01-21T00:40:08.096Z","repository":{"id":40364057,"uuid":"228026481","full_name":"olle/query-response-spring-amqp","owner":"olle","description":"Fluid and safe API for Query/Response with Spring AMQP.","archived":false,"fork":false,"pushed_at":"2025-12-02T09:51:13.000Z","size":51452,"stargazers_count":5,"open_issues_count":4,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-05T05:47:34.923Z","etag":null,"topics":["async","consumers","fluid","java","messaging","publishers","query-response","rabbitmq","spring-amqp"],"latest_commit_sha":null,"homepage":"https://olle.github.io/query-response-spring-amqp/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/olle.png","metadata":{"files":{"readme":"README.adoc","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-12-14T13:21:19.000Z","updated_at":"2025-12-02T09:51:17.000Z","dependencies_parsed_at":"2024-07-21T09:22:10.250Z","dependency_job_id":"34fd8275-e2a1-4f05-9494-66f6630a5afe","html_url":"https://github.com/olle/query-response-spring-amqp","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/olle/query-response-spring-amqp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olle%2Fquery-response-spring-amqp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olle%2Fquery-response-spring-amqp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olle%2Fquery-response-spring-amqp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olle%2Fquery-response-spring-amqp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olle","download_url":"https://codeload.github.com/olle/query-response-spring-amqp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olle%2Fquery-response-spring-amqp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28619980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T23:49:58.628Z","status":"ssl_error","status_checked_at":"2026-01-20T23:47:29.996Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["async","consumers","fluid","java","messaging","publishers","query-response","rabbitmq","spring-amqp"],"created_at":"2026-01-21T00:40:07.792Z","updated_at":"2026-01-21T00:40:08.075Z","avatar_url":"https://github.com/olle.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"= Query/Response for Spring® AMQP\n\nimage:https://github.com/olle/spring-query-response-amqp/workflows/Java%20CI/badge.svg[title=\"Java CI\", link=\"https://github.com/olle/query-response-spring-amqp/actions?query=workflow%3A%22Java+CI%22\"]\n\n**WIP: Driving the initial version from this README, please feel free to\n       provide feedback through issues.**\n\nBuild safer and more resilient distributed services. Get the benefits of an\n_always async_ approach to data exchange. Ensure decoupling of components. Be\nbetter prepared for system evolution. Create more scalable solutions. Change the\nway you think and design, by using Query/Response for Spring AMQP.\n\n== Batteries, included\n\nQuery/Response provides tools to allow developers to monitor, measure, explore\nand discover the capabilities of their runtime system. Metrics and interactive\nutilities, built-in. See link:./ui/[ui] for more information.\n\nimage:ui/ui.png[]\n\n== Quickstart\n\nThe Query/Response library can easily be added to any Spring Boot® project, as\na single dependency.\n\n```xml\n  \u003cdependency\u003e\n    \u003c!-- From Jitpack-repo --\u003e\n    \u003cgroupId\u003ecom.github.olle\u003c/groupId\u003e\n    \u003cartifactId\u003equery-response-spring-amqp\u003c/artifactId\u003e\n    \u003cversion\u003e${SOME-TAG}\u003c/version\u003e\n  \u003c/dependency\u003e\n```\n\n_At the current time we recommend using https://jitpack.io[Jitpack] to resolve\nthe dependency. Query/Response will however be published to the Sonatype OSS \nrepository and Maven Central in the future._\n\n=== `@EnableQueryResponse`\n\n:QueryResponseConfiguration: link:./src/main/java/com/studiomediatech/queryresponse/QueryResponseConfiguration.java\n\nTo initialize the Query/Response library resources, and load the\n{QueryResponseConfiguration}[`QueryResponseConfiguration`] class, the\n`@EnableQueryResponse` annotation can simply be added to any Spring Boot \napplication starter.\n\n```java\n@SpringBootApplication\n@EnableQueryResponse\npublic class App {\n  ...\n}\n```\n\nThe configuration will try to connect to an AMQP message broker, using the\ncommon configurations for Spring AMQP. The default setup will try to connect\nto a local broker with the username and password `guest/guest`.\n\n_Please see the provided `examples/` for a simple setup with \nhttps://www.rabbitmq.com[RabbitMQ] as a docker container, to get you started._\n\n== Queries\n\nThe fluid Query/Response API makes it easy for developers to understand and\ndecide on a strategy for service integration. Timeouts are _first-class\ncitizens_ in the API and protect against surprises.\n\n```java\n  var authors = queryBuilder.queryFor(\"authors\", String.class)\n                  .waitingFor(800)\n                  .orEmpty();\n```\n\n\n== Responses\n\nTo create responding services we provide a really effective and expressive\nfluid-API. Developers benefit from the declarative style, and won't have to\nwrite any boilerplate code. It is easy to understand, work with and explore.\n\nVery simple scenarios can quickly be created, for tests or proof of concept\nwork.\n\n```java\n  responseBuilder.respondTo(\"authors\", String.class)\n      .withAll()\n      .from(\"William Gibson\", \"Isaac Asimov\", \"J.R.R. Tolkien\");\n```\n\n== Documentation \u0026amp; Examples\n\nRead more and learn how to use Query/Response, and how it works, in the\nhttps://olle.github.io/query-response-spring-amqp/[online documentation].\n\nAlso make sure to check out the working link:./examples/[examples] to get\nstarted quickly with Query/Response.\n\n=== Request For Discussion (RFD) \u0026amp; Architectural Design Records (ADR)\n\nUnder the link:./docs[docs] folder there are link:./docs/rfd[RFD] documents,\nwhich provide a way for anyone to introduce ideas and trigger a discussion, as\nwell as link:./docs/adr[ADR] documents that describe which important decisions\nwere made, and why. Read more in the\nhttps://olle.github.io/query-response-spring-amqp/[online documentation].\n\n== Versions \u0026amp; Spring Boot\n\nThis project is very much an extension and amalgamation of the AMQP features\nprovided in Spring Boot. Therefore, there needs to be a living relationship\nbetween the generational release versions of Spring Boot and this project.\n\nWe will build and tag an initial version `0.9.x` as a _preliminary_ working\nversion of Query/Response. This version will only support the current and latest\nversion of Spring Boot, in our `main` branch.\n\n* `main` -\u003e Spring Boot 3.5.x\n\nThere will be no other minor version increment under the initial major version\n`0.x.x`. The `0.9.x` version will be used to iron out bugs and gather feedback\nfor an upcoming stable `1.0.0` version.\n\n=== No longer active\n\nThe following branches and versions are no longer actively supported or\nback-ported to. The intent is to never linger behind the list of active Spring\nBoot versions.\n\n* `zzz/spring-boot-2.7.x` -\u003e Spring Boot 2.7.x\n* `zzz/spring-boot-2.6.x` -\u003e Spring Boot 2.6.x\n* `zzz/spring-boot-2.5.x` -\u003e Spring Boot 2.5.x\n* `zzz/spring-boot-2.4.x` -\u003e Spring Boot 2.4.x\n* `zzz/spring-boot-2.3.x` -\u003e Spring Boot 2.3.x.RELEASE\n* `zzz/spring-boot-2.2.x` -\u003e Spring Boot 2.2.x.RELEASE\n* `zzz/spring-boot-2.1.x` -\u003e Spring Boot 2.1.x.RELEASE\n* `zzz/spring-boot-1.5.x` -\u003e Spring Boot 1.5.x.RELEASE\n\nHowever, I'm sure that anyone who still needs to use an older version of\nSpring Boot can find the code in the `zzz/` branches, and use it as a\nreference for their own projects. The code in these branches will not be\nactively maintained, but will remain available for reference.\n\n== Demo Setup \u0026amp; Development\n\nPrerequisites for development include a working Java 21+ environment, docker\nand docker-compose as well as node and npm for building the frontend UI.\n\nTo get a local development environment up and running, you can use the provided\n`docker-compose.yml` file to start a RabbitMQ container. This will allow you to\ntest and develop Query/Response functionality locally.\n\nWe've also prepared a quick and easy way to build, install and start a demo\nsetup of Query/Response locally. Just simply run:\n\n```shell\n\u003e make demo\n```\n\nThis will build the project, install the dependencies, and start a demo setup\nwith a querying service and a responding service. As well a the UI for\nmonitoring and exploring the system. The UI will be available at\nhttp://localhost:8080.\n\nHappy coding!\n\n---\n\nSpring and Spring Boot is a trademark of Broadcom Inc. and/or its subsidiaries.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folle%2Fquery-response-spring-amqp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folle%2Fquery-response-spring-amqp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folle%2Fquery-response-spring-amqp/lists"}