From 0b61eb291091368253717b309b8f9bd3bf0a0489 Mon Sep 17 00:00:00 2001 From: Giselle van Dongen Date: Wed, 8 Jan 2025 14:32:52 +0100 Subject: [PATCH] Update Java readme --- java/README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/java/README.md b/java/README.md index 53f912cb..b1177d8b 100644 --- a/java/README.md +++ b/java/README.md @@ -10,22 +10,22 @@ ## Use Cases and Patterns #### Communication -- **[Durable RPC, Idempotency & Concurrency](patterns-use-cases/README.md#microservices-durable-rpc)**: Restate persists requests and makes sure they execute exactly-once. [](patterns-use-cases/src/main/java/my/example/durablerpc/MyClient.java) -- **[(Delayed) Message Queue](patterns-use-cases/README.md#async-tasks-delayed-tasks-queue)**: Use Restate as a queue. Schedule tasks for now or later and ensure the task is only executed once. [](patterns-use-cases/src/main/java/my/example/queue/TaskSubmitter.java) -- **[Convert Sync Tasks to Async](patterns-use-cases/README.md#async-tasks-async-data-upload)**: Kick off a synchronous task (e.g. data upload) and turn it into an asynchronous one if it takes too long. [](patterns-use-cases/src/main/java/my/example/dataupload/UploadClient.java) +- **[Durable RPC, Idempotency & Concurrency](patterns-use-cases/README.md#durable-rpc-idempotency--concurrency)**: Restate persists requests and makes sure they execute exactly-once. [](patterns-use-cases/src/main/java/my/example/durablerpc/MyClient.java) +- **[(Delayed) Message Queue](patterns-use-cases/README.md#delayed-message-queue)**: Use Restate as a queue. Schedule tasks for now or later and ensure the task is only executed once. [](patterns-use-cases/src/main/java/my/example/queue/TaskSubmitter.java) +- **[Convert Sync Tasks to Async](patterns-use-cases/README.md#convert-sync-tasks-to-async)**: Kick off a synchronous task (e.g. data upload) and turn it into an asynchronous one if it takes too long. [](patterns-use-cases/src/main/java/my/example/dataupload/UploadClient.java) #### Common patterns -- **[Sagas](patterns-use-cases/README.md#microservices-sagas)**: Preserve consistency by tracking undo actions and running them when code fails halfway through. [](patterns-use-cases/src/main/java/my/example/sagas/BookingWorkflow.java) -- **[Stateful Actors and State Machines](patterns-use-cases/README.md#microservices-stateful-actors)**: State machine with a set of transitions, built as a Restate Virtual Object for automatic state persistence. [](patterns-use-cases/src/main/java/my/example/statefulactors/MachineOperator.java) -- **[Payment State Machines (Advanced)](patterns-use-cases/README.md#microservices-payment-state-machine)**: State machine example that tracks a payment process, ensuring consistent processing and cancellations. [](patterns-use-cases/src/main/java/my/example/statemachinepayments/PaymentProcessor.java) +- **[Sagas](patterns-use-cases/README.md#sagas)**: Preserve consistency by tracking undo actions and running them when code fails halfway through. [](patterns-use-cases/src/main/java/my/example/sagas/BookingWorkflow.java) +- **[Stateful Actors and State Machines](patterns-use-cases/README.md#stateful-actors-and-state-machines)**: State machine with a set of transitions, built as a Restate Virtual Object for automatic state persistence. [](patterns-use-cases/src/main/java/my/example/statefulactors/MachineOperator.java) +- **[Payment State Machines (Advanced)](patterns-use-cases/README.md#payment-state-machines)**: State machine example that tracks a payment process, ensuring consistent processing and cancellations. [](patterns-use-cases/src/main/java/my/example/statemachinepayments/PaymentProcessor.java) #### Scheduling -- **[Parallelizing Work](patterns-use-cases/README.md#async-tasks-parallelizing-work)**: Execute a list of tasks in parallel and then gather their result. [](patterns-use-cases/src/main/java/my/example/parallelizework/FanOutWorker.java) -- **[Payments: Async Signals](patterns-use-cases/README.md#async-tasks-payment-signals---combining-sync-and-async-webhook-responses-from-stripe)**: Handling async payment callbacks for slow payments, with Stripe. [](patterns-use-cases/src/main/java/my/example/signalspayments/PaymentService.java) +- **[Parallelizing Work](patterns-use-cases/README.md#parallelizing-work)**: Execute a list of tasks in parallel and then gather their result. [](patterns-use-cases/src/main/java/my/example/parallelizework/FanOutWorker.java) +- **[Payments: Async Signals](patterns-use-cases/README.md#payment-signals)**: Handling async payment callbacks for slow payments, with Stripe. [](patterns-use-cases/src/main/java/my/example/signalspayments/PaymentService.java) #### Event processing -- **[Transactional Event Processing](patterns-use-cases/README.md#event-processing-transactional-handlers-with-durable-side-effects-and-timers)**: Processing events (from Kafka) to update various downstream systems in a transactional way. [](patterns-use-cases/src/main/java/my/example/eventtransactions/UserFeed.java) -- **[Event Enrichment / Joins](patterns-use-cases/README.md#event-processing-event-enrichment)**: Stateful functions/actors connected to Kafka and callable over RPC. [](patterns-use-cases/src/main/java/my/example/eventenrichment/PackageTracker.java) +- **[Transactional Event Processing](patterns-use-cases/README.md#transactional-event-processing)**: Processing events (from Kafka) to update various downstream systems in a transactional way. [](patterns-use-cases/src/main/java/my/example/eventtransactions/UserFeed.java) +- **[Event Enrichment / Joins](patterns-use-cases/README.md#event-enrichment--joins)**: Stateful functions/actors connected to Kafka and callable over RPC. [](patterns-use-cases/src/main/java/my/example/eventenrichment/PackageTracker.java) ## Integrations