Skip to content

[Chapter 08 - MicroProfile Fault Tolerance 4.1] Updating chapter 08 content for MicroProfile Fault Tolerance 4.1 - #66

Open
ttelang wants to merge 4 commits into
microprofile:mainfrom
ttelang:chapter-update-mp-fault-tolerance-4.1
Open

[Chapter 08 - MicroProfile Fault Tolerance 4.1] Updating chapter 08 content for MicroProfile Fault Tolerance 4.1#66
ttelang wants to merge 4 commits into
microprofile:mainfrom
ttelang:chapter-update-mp-fault-tolerance-4.1

Conversation

@ttelang

@ttelang ttelang commented Mar 16, 2026

Copy link
Copy Markdown
Contributor

Updated chapter 08 content to reflect changes in MicroProfile. Fault Tolerance 4.1.

Included new sections on

  • Exception handling and retry policies, and
  • Integration with metrics and telemetry integration

Please refer to this PR for the associated code changes:
#70

Updated chapter content to reflect changes in MicroProfile Fault Tolerance 4.1, including new sections on exception handling, retry policies, and metrics integration.
@ttelang
ttelang marked this pull request as ready for review March 16, 2026 17:02
@ttelang ttelang changed the title Revise chapter08.adoc for MicroProfile Fault Tolerance 4.1 Mar 16, 2026
@jclingan

Copy link
Copy Markdown

I will take a look. Thanks Tarun!

@jclingan

Copy link
Copy Markdown

Thanks Tarun. I like that you simplified the code by using MicroProfile Config, which also introduces config-override feature. The other additions are good too. Let's see who else provides feedback. I haven't run the code yet.

@ttelang ttelang changed the title Update Chapter08 for MicroProfile Fault Tolerance 4.1 Apr 7, 2026
Comment thread modules/ROOT/pages/chapter08/chapter08.adoc
@ttelang

ttelang commented May 17, 2026

Copy link
Copy Markdown
Contributor Author

Thanks Tarun. I like that you simplified the code by using MicroProfile Config, which also introduces config-override feature. The other additions are good too. Let's see who else provides feedback. I haven't run the code yet.

@jclingan - To run the code you can check this PR, it has the code changes for this chapter.
#70

Comment thread modules/ROOT/pages/chapter08/chapter08.adoc
ttelang added 2 commits June 20, 2026 05:23
…meout

Without @asynchronous, @timeout relies on thread interruption which is
unreliable for blocking I/O (e.g. JDBC calls). Update the @timeout
externalization example to use @asynchronous with CompletionStage return
types, add a NOTE admonition calling out the requirement, and strengthen
the surrounding prose from "can be combined" to "should always be combined".
…yment service

- Restore PaymentResource to non-blocking CompletionStage<Response> pattern;
  remove .get() call that was blocking the JAX-RS request thread
- Wrap paymentService.processPayment() call in try-catch to satisfy the Java
  compiler's checked-exception requirement for PaymentProcessingException
- Introduce PaymentFallbackHandler (FallbackHandler<CompletionStage<String>>)
  to distinguish BulkheadException from other failures, returning "rejected"
  vs "failed" status — replaces the unsupported Throwable fallback method param
- Set @bulkhead(value=5, waitingTaskQueue=2) so 10 concurrent requests trigger
  3 rejections, making the bulkhead demo observable
- Tighten @CIRCUITBREAKER thresholds (failureRatio=0.75, requestVolumeThreshold=10)
  so the 30% failure simulation never trips the circuit during the test
- Fix test-payment-bulkhead.sh: correct log path, fix response-body detection
  strings ("rejected"/"failed"), display background output after wait, and grep
  temp files (not the non-existent /tmp/bulkhead.log) for result counting
- Bump liberty-maven-plugin to 3.12.0
@ttelang

ttelang commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

@jclingan & @Emily-Jiang - I have resolved all the PR feedback; kindly approve and merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants