diff --git a/basics/basics-java/README.md b/basics/basics-java/README.md index eb884163..30ae5688 100644 --- a/basics/basics-java/README.md +++ b/basics/basics-java/README.md @@ -9,7 +9,7 @@ about how they work and how they can be run. ### Examples -* **[Basic Durable Execution:](durable_execution/RoleUpdateService.java):** Running code cleanly +* **[Basic Durable Execution:](src/main/java/durable_execution/RoleUpdateService.java):** Running code cleanly to the end in the presence of failures. Automatic retries and recovery of previously finished actions. The example applies a series of updates and permission setting changes to user's profile. @@ -17,7 +17,7 @@ about how they work and how they can be run. ./gradlew -PmainClass=durable_execution.RoleUpdateService run ``` -* **[Durable Execution with Compensations](durable_execution_compensation/RoleUpdateService.java):** +* **[Durable Execution with Compensations](src/main/java/durable_execution_compensation/RoleUpdateService.java):** Reliably compensating / undoing previous actions upon unrecoverable errors halfway through multi-step change. This is the same example as above, extended for cases where a part of the change cannot be applied (conflict) and everything has to roll back. @@ -25,25 +25,25 @@ about how they work and how they can be run. ./gradlew -PmainClass=durable_execution_compensation.RoleUpdateService run ``` -* **[Workflows](workflows/SignupWorkflow.java):** Workflows are durable execution tasks that can +* **[Workflows](src/main/java/workflows/SignupWorkflow.java):** Workflows are durable execution tasks that can be submitted and awaited. They have an identity and can be signaled and queried through durable promises. The example is a user-signup flow that takes multiple operations, including verifying the email address. -* **[Virtual Objects](virtual_objects/GreeterObject.java):** Stateful serverless objects +* **[Virtual Objects](src/main/java/virtual_objects/GreeterObject.java):** Stateful serverless objects to manage durable consistent state and state-manipulating logic. ```shell ./gradlew -PmainClass=virtual_objects.GreeterObject run ``` -* **[Kafka Event-processing](events_processing/UserUpdatesService.java):** Processing events to +* **[Kafka Event-processing](src/main/java/events_processing/UserUpdatesService.java):** Processing events to update various downstream systems with durable event handlers, event-delaying, in a strict-per-key order. ```shell ./gradlew -PmainClass=events_processing.UserUpdatesService run ``` -* **[Stateful Event-processing](events_state/ProfileService.java):** Populating state from +* **[Stateful Event-processing](src/main/java/events_state/ProfileService.java):** Populating state from events and making is queryable via RPC handlers. ```shell ./gradlew -PmainClass=events_state.ProfileService run diff --git a/basics/basics-kotlin/README.md b/basics/basics-kotlin/README.md index 1f1f0a12..7547a869 100644 --- a/basics/basics-kotlin/README.md +++ b/basics/basics-kotlin/README.md @@ -9,7 +9,7 @@ about how they work and how they can be run. ### Examples -* **[Basic Durable Execution:](durable_execution/RoleUpdateService.java):** Running code cleanly +* **[Basic Durable Execution:](src/main/kotlin/durable_execution/RoleUpdateService.kt):** Running code cleanly to the end in the presence of failures. Automatic retries and recovery of previously finished actions. The example applies a series of updates and permission setting changes to user's profile. @@ -17,7 +17,7 @@ about how they work and how they can be run. ./gradlew -PmainClass=durable_execution.RoleUpdateServiceKt run ``` -* **[Durable Execution with Compensations](durable_execution_compensation/RoleUpdateService.java):** +* **[Durable Execution with Compensations](src/main/kotlin/durable_execution_compensation/RoleUpdateService.kt):** Reliably compensating / undoing previous actions upon unrecoverable errors halfway through multi-step change. This is the same example as above, extended for cases where a part of the change cannot be applied (conflict) and everything has to roll back. @@ -25,25 +25,25 @@ about how they work and how they can be run. ./gradlew -PmainClass=durable_execution_compensation.RoleUpdateServiceKt run ``` -* **[Workflows](workflows/SignupWorkflow.java):** Workflows are durable execution tasks that can +* **[Workflows](src/main/kotlin/workflows/SignupWorkflow.kt):** Workflows are durable execution tasks that can be submitted and awaited. They have an identity and can be signaled and queried through durable promises. The example is a user-signup flow that takes multiple operations, including verifying the email address. -* **[Virtual Objects](virtual_objects/GreeterObject.java):** Stateful serverless objects +* **[Virtual Objects](src/main/kotlin/virtual_objects/GreeterObject.kt):** Stateful serverless objects to manage durable consistent state and state-manipulating logic. ```shell ./gradlew -PmainClass=virtual_objects.GreeterObjectKt run ``` -* **[Kafka Event-processing](events_processing/UserUpdatesService.java):** Processing events to +* **[Kafka Event-processing](src/main/kotlin/events_processing/UserUpdatesService.kt):** Processing events to update various downstream systems with durable event handlers, event-delaying, in a strict-per-key order. ```shell ./gradlew -PmainClass=events_processing.UserUpdatesServiceKt run ``` -* **[Stateful Event-processing](events_state/ProfileService.java):** Populating state from +* **[Stateful Event-processing](src/main/kotlin/events_state/ProfileService.kt):** Populating state from events and making is queryable via RPC handlers. ```shell ./gradlew -PmainClass=events_state.ProfileServiceKt run