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

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 Update Chapter08 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 [Chapter 08 - MicroProfile Fault Tolerance 4.1] Updating chapter 08 content 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants