Repository navigation
refactor(examples): S13 PR 2 — Quarkus on Panache, SmallRye Health and REST Client - #74
Merged
Merged
Conversation
…che and SmallRye Health
…and typed Kafka payload
…he and SmallRye Health
…ion, SmallRye Health
…ique-constraint backstop, typed Kafka payload
…, SmallRye Health
…, SmallRye Health
…ck, SmallRye Health
… exception mappers, SmallRye Health
…usMain with HTTP off, SmallRye Health
…d Kafka event, SmallRye Health
…t for write-back, Redis cache for read-through, SmallRye Health
…allRye Health (breaker and bulkhead untouched)
…n format mapper Quarkus 3.40 refuses to start a persistence unit with JSON columns that would share the REST ObjectMapper; none of these apps customizes Jackson, so mapping.format.global=ignore is the documented choice.
RestResponse.Status has no 422, so fromStatusCode returned null and the mapper itself threw, turning invalid input into a 500.
… -parameters
Without parameter names the decorator's REST client was never registered
("not indexed at build time") because its @RestPath had no name to bind.
Also set on 02, 16, 17 and the 24 stub, matching the other Quarkus poms.
patterncatalyst
added a commit
that referenced
this pull request
Oct 23, 2026
…d REST Client (#74) * refactor(demo-01): Quarkus on Panache and SmallRye Health * refactor(demo-21): Quarkus graceful shutdown on framework drain, Panache and SmallRye Health * refactor(demo-02): Quarkus order service on Panache, SmallRye Health and typed Kafka payload * refactor(demo-03): Quarkus gateway on REST Client, order-api on Panache and SmallRye Health * refactor(demo-04): Quarkus outbox as Panache entities in one transaction, SmallRye Health * refactor(demo-05): Quarkus on Panache, idempotent consumers with a unique-constraint backstop, typed Kafka payload * refactor(demo-06): Quarkus on Panache, typed order and revenue serdes, SmallRye Health * refactor(demo-11): Quarkus on Panache, typed order payload, SmallRye Health * refactor(demo-12): Quarkus REST query params and SmallRye Health (bulkhead untouched) * refactor(demo-16): Quarkus REST query params, typed backplane message, SmallRye Health * refactor(demo-17): Quarkus sagas on Panache with a pessimistic row lock, SmallRye Health * refactor(demo-18): Quarkus errors through ProblemException and server exception mappers, SmallRye Health * refactor(demo-19): Quarkus hexagonal on Panache adapter, CLI as QuarkusMain with HTTP off, SmallRye Health * refactor(demo-22): Quarkus SmallRye Health with the version as liveness data * refactor(demo-24): Quarkus REST Client for legacy and upstreams, typed Kafka event, SmallRye Health * refactor(demo-25): Quarkus caching on Panache, StatelessSession upsert for write-back, Redis cache for read-through, SmallRye Health * refactor(demo-26): Quarkus REST Client for the edge backend calls, SmallRye Health (breaker and bulkhead untouched) * refactor(demo-27): Quarkus REST headers and SmallRye Health * docs(examples): Quarkus READMEs follow the Panache and SmallRye examples * docs(site): Quarkus codetabs follow the Panache/SmallRye examples (S13) * docs(deck): Quarkus deck follows the idiomatic examples (S13) * fix(demo-04,demo-17,demo-25): Quarkus JSONB columns on Hibernate's own format mapper Quarkus 3.40 refuses to start a persistence unit with JSON columns that would share the REST ObjectMapper; none of these apps customizes Jackson, so mapping.format.global=ignore is the documented choice. * fix(demo-19): Quarkus 422 mapper builds the status from the int code RestResponse.Status has no 422, so fromStatusCode returned null and the mapper itself threw, turning invalid input into a 500. * fix(demo-24): compile Quarkus projects that use Rest* parameters with -parameters Without parameter names the decorator's REST client was never registered ("not indexed at build time") because its @RestPath had no name to bind. Also set on 02, 16, 17 and the 24 stub, matching the other Quarkus poms. * docs(plan): S13 PR 2 matrix green
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
S13 PR 2 of 5 (plan:
_plans/s13-idiomatic-plan.md, step 3).db/initstill owning the schema (Hibernatevalidate). The outbox is a plain PanacheOutboxEvententity (D9)./healthzand/readyz.java.net.httpcalls are replaced by typed REST Clients, and the services use Quarkus REST parameter annotations, typed Kafka serdes and Quarkus shutdown handling.@QuarkusMainwith the HTTP server off.Quarkus.fix5.json) follow the new code. The 05 minikube and OpenShiftdeploy.shhealth polls accept"UP"as well as"ok".Fixes found by the matrix:
quarkus.hibernate-orm.mapping.format.global=ignore. Quarkus 3.40 refuses to start when JSON columns would share the REST ObjectMapper, and none of these apps customizes Jackson.RestResponse.Statushas no 422, so the mapper was throwing and returning a 500.Rest*parameters now compile with-parameters. Without it, 24's decorator REST client was never registered.Verification:
scripts/verify-matrix.sh quarkus 24-monolith-to-microservicespassed 23/23. validate_site, voice-scan anddeck_text --checkreport clean.