temporalio / temporalio/samples-java
[Sample Request] Payment workflow with idempotency, state machine, and compensation flow
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 258
- Forks
- 189
- Ø Merge
- 6 T. 4 Std.
- Gemergte PRs (30 T.)
- 4
Beschreibung
Hi, I'd like to contribute a new sample demonstrating a production-grade payment workflow pattern.
What it would cover:
- 7-state payment state machine (INITIATED → VALIDATING → PROCESSING → COMPLETED / FAILED / CANCELLED / COMPENSATING)
- Idempotency key deduplication before any state mutation
- Exponential backoff with jitter on retries
- Compensation flow as a child workflow on failure
Why it's useful:
The existing HelloSaga and MoneyTransfer samples demonstrate SAGA and basic compensation, but none show the full combination of idempotency + state machine transitions + compensation in a single cohesive example. This pattern is extremely common in fintech/payment backends.
Happy to submit a PR if this is welcome. Let me know if there's a preferred package structure or naming convention I should follow.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, die vorhandenen HelloSaga- und MoneyTransfer-Beispiele zu lesen, um zu verstehen, wie SAGA und Kompensation demonstriert werden. Definiere das Beispiel anhand der angeforderten sieben Zustände, der Idempotenzbehandlung, des Retry-Backoffs und der Kompensation von Child-Workflows; es ist fertig, wenn ein zusammenhängender Zahlungs-Workflow alle vier Verhaltensweisen demonstriert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- backend, distributed-systems
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100