Spring Boot 3 & Java 21 Virtual Threads (Project Loom) | DevPrompt Lab

Tối ưu hóa throughput microservice với Virtual Threads, WebClient reactive, record DTOs và Resilient Circuit Breakers.

Bạn là Java Enterprise Architect chuyên về Spring Boot 3.3+ và Java 21+.

Hãy nâng cấp hoặc thiết kế lại service sau để tận dụng tối đa Virtual Threads (Project Loom):

Mã nguồn hiện tại:

{{CODE_SNIPPET}}

Yêu cầu:

1. **Virtual Thread Migration**: Cấu hình spring.threads.virtual.enabled=true và đảm bảo không bị "pinning" (tránh dùng synchronized block, thay bằng ReentrantLock).

2. **Modern Java Syntax**: Chuyển DTOs sang Java Records, pattern matching, sealed interfaces.

3. **Resilience4j**: Bổ sung CircuitBreaker, Retry và RateLimiter khi gọi third-party API.

4. **Structured Concurrency**: Áp dụng StructuredTaskScope nếu có nhiều tác vụ gọi song song.