diff --git a/state_management/csharp/http/README.md b/state_management/csharp/http/README.md index c5d785a8c..a1e17a19c 100644 --- a/state_management/csharp/http/README.md +++ b/state_management/csharp/http/README.md @@ -1,6 +1,6 @@ # Dapr state management (HTTP Client) -In this quickstart, you'll create a microservice to demonstrate Dapr's state management API. The service generates messages to store in a state store. See [Why state management](#why-state-management) to understand when to use this API. +In this quickstart, you'll create a microservice to demonstrate Dapr's state management API. The service generates messages to store in a state store. See [Why state management](https://docs.dapr.io/developing-applications/building-blocks/state-management/) to understand when to use this API. Visit [this](https://docs.dapr.io/developing-applications/building-blocks/state-management/) link for more information about Dapr and State Management. @@ -8,44 +8,87 @@ Visit [this](https://docs.dapr.io/developing-applications/building-blocks/state- This quickstart includes one service: -- Dotnet client service `order-processor` +- Dotnet client service `order-processor` -### Run Dotnet service with Dapr +## Run all apps with multi-app run template file -1. Open a new terminal window and navigate to `order-processor` directory: +This section shows how to run applications at once using [multi-app run template files](https://docs.dapr.io/developing-applications/local-development/multi-app-dapr-run/multi-app-overview/) with `dapr run -f .`. This enables to you test the interactions between multiple applications. + +1. Open a new terminal window and run `order-processor` using the multi app run template defined in [dapr.yaml](./dapr.yaml): ```bash -cd ./order-processor dotnet restore dotnet build ``` -2. Run the Dotnet service app with Dapr: + +2. Run the Dotnet service app with Dapr: + + + +```bash + dapr run -f . +``` + + +```bash + dapr stop -f . +``` + +## Run a single app at a time with Dapr (Optional) + +An alternative to running all or multiple applications at once is to run single apps one-at-a-time using multiple `dapr run .. -- dotnet run` commands. This next section covers how to do this. + +1. Run the Dotnet service app with Dapr: - + ```bash cd ./order-processor dapr run --app-id order-processor --resources-path ../../../resources/ -- dotnet run ``` - +The Terminal console output should look similar to this: -```bash -dapr stop --app-id order-processor +```text +You're up and running! Both Dapr and your app logs will appear here. + +== APP == Saving Order: Order { orderId = 1 } +== APP == Getting Order: Order { orderId = 1 } +== APP == Deleting Order: Order { orderId = 1 } +== APP == Saving Order: Order { orderId = 2 } +== APP == Getting Order: Order { orderId = 2 } +== APP == Deleting Order: Order { orderId = 2 } +== APP == Saving Order: Order { orderId = 3 } +== APP == Getting Order: Order { orderId = 3 } +== APP == Deleting Order: Order { orderId = 3 } ``` + +2. Stop and clean up application processes + +dapr stop --app-id order-processor + \ No newline at end of file diff --git a/state_management/csharp/http/dapr.yaml b/state_management/csharp/http/dapr.yaml new file mode 100644 index 000000000..94bfa7e5a --- /dev/null +++ b/state_management/csharp/http/dapr.yaml @@ -0,0 +1,9 @@ + +version: 1 +common: + resourcesPath: ../../../resources/ +apps: + - appID: order-processor + appDirPath: ./order-processor/ + command: ["dotnet", "run"] + diff --git a/state_management/csharp/sdk/README.md b/state_management/csharp/sdk/README.md index 33280192b..e545cfec8 100644 --- a/state_management/csharp/sdk/README.md +++ b/state_management/csharp/sdk/README.md @@ -1,16 +1,12 @@ # Dapr state management -In this quickstart, you'll create a microservice to demonstrate Dapr's state management API. The service generates messages to store data in a state store. See [Why state management](#why-state-management) to understand when this pattern might be a good choice for your software architecture. +In this quickstart, you'll create a microservice to demonstrate Dapr's state management API. The service generates messages to store data in a state store. See [Why state management](https://docs.dapr.io/developing-applications/building-blocks/state-management/) to understand when this pattern might be a good choice for your software architecture. Visit [this](https://docs.dapr.io/developing-applications/building-blocks/state-management/) link for more information about Dapr and State Management. > **Note:** This example leverages the Dapr client SDK. If you are looking for the example using only HTTP [click here](../http). -This quickstart includes one service: - -- Dotnet client service `order-processor`: - -### Run Dotnet service with Dapr +This quickstart includes one service: Dotnet client service `order-processor` ## Run all apps with multi-app run template file @@ -22,11 +18,10 @@ This section shows how to run applications at once using [multi-app run template name: Install Dotnet dependencies --> -```bash -cd ./order-processor -dotnet restore -dotnet build -``` + ```bash + dotnet restore + dotnet build + ``` @@ -44,30 +39,14 @@ background: true sleep: 15 --> -```bash - dapr run -f -``` - -The Terminal console output should look similar to this: - -```text -You're up and running! Both Dapr and your app logs will appear here. - -== APP == Saving Order: Order { orderId = 1 } -== APP == Getting Order: Order { orderId = 1 } -== APP == Deleting Order: Order { orderId = 1 } -== APP == Saving Order: Order { orderId = 2 } -== APP == Getting Order: Order { orderId = 2 } -== APP == Deleting Order: Order { orderId = 2 } -== APP == Saving Order: Order { orderId = 3 } -== APP == Getting Order: Order { orderId = 3 } -== APP == Deleting Order: Order { orderId = 3 } -``` + ```bash + dapr run -f . + ``` -2. Stop and cleanup application process +3. Stop and clean up application processes ```bash -dapr stop -f + dapr stop -f . ``` @@ -75,10 +54,20 @@ dapr stop -f An alternative to running all or multiple applications at once is to run single apps one-at-a-time using multiple `dapr run .. -- dotnet run` commands. This next section covers how to do this. -### Run the Dotnet service app with Dapr - 1. Run the Dotnet service app with Dapr: + + ```bash cd ./order-processor dapr run --app-id order-processor --resources-path ../../../resources/ -- dotnet run @@ -101,6 +90,6 @@ You're up and running! Both Dapr and your app logs will appear here. ``` 2. Stop and clean up application processes -dapr stop --app-id order-processor +dapr stop --app-id order-processor \ No newline at end of file diff --git a/state_management/csharp/sdk/dapr.yaml b/state_management/csharp/sdk/dapr.yaml index 6083f1a3e..1c8ae4469 100644 --- a/state_management/csharp/sdk/dapr.yaml +++ b/state_management/csharp/sdk/dapr.yaml @@ -1,8 +1,9 @@ version: 1 common: - resourcesPath: ../../../resources/ + resourcesPath: ../../resources/ apps: - appID: order-processor appDirPath: ./order-processor/ command: ["dotnet", "run"] + diff --git a/state_management/csharp/sdk/order-processor/Program.cs b/state_management/csharp/sdk/order-processor/Program.cs index fbfd97692..8053354b1 100644 --- a/state_management/csharp/sdk/order-processor/Program.cs +++ b/state_management/csharp/sdk/order-processor/Program.cs @@ -12,7 +12,7 @@ string DAPR_STORE_NAME = "statestore"; var client = new DaprClientBuilder().Build(); -for (int i = 1; i <= 100; i++) { +for (int i = 1; i <= 1; i++) { var orderId = i; var order = new Order(orderId); diff --git a/state_management/go/http/README.md b/state_management/go/http/README.md index f10c5f915..e4a4c2f08 100644 --- a/state_management/go/http/README.md +++ b/state_management/go/http/README.md @@ -1,32 +1,104 @@ # Dapr state management (HTTP Client) -In this quickstart, you'll create a microservice to demonstrate Dapr's state management API. The service generates messages to store data in a state store. +In this quickstart, you'll create a microservice to demonstrate Dapr's state management API. The service generates messages to store in a state store. See [Why state management](https://docs.dapr.io/developing-applications/building-blocks/state-management/) to understand when to use this API. -Visit the Dapr documentation on [State Management](https://docs.dapr.io/developing-applications/building-blocks/state-management/) for more information. +Visit [this](https://docs.dapr.io/developing-applications/building-blocks/state-management/) link for more information about Dapr and State Management. -> **Note:** This example leverages plain HTTP. You can find an example using the Dapr Client SDK (recommended) in the [`sdk` folder](../sdk/). +> **Note:** This example leverages HTTP `requests` only. If you are looking for the example using the Dapr Client SDK (recommended) [click here](../sdk/). -This quickstart includes one service: Go client service `order-processor` +This quickstart includes one service: Go client service `order-processor` -### Run Go service with Dapr +## Run all apps with multi-app run template file -1. Run the Go service app with Dapr in the `order-processor` folder: +This section shows how to run applications at once using [multi-app run template files](https://docs.dapr.io/developing-applications/local-development/multi-app-dapr-run/multi-app-overview/) with `dapr run -f .`. This enables to you test the interactions between multiple applications. + +Open a new terminal window and run `order-processor` using the multi app run template defined in [dapr.yaml](./dapr.yaml): + +1. Run the Go service app with Dapr: + + + +```bash + dapr run -f . +``` + +The Terminal console output should look similar to this: + +```text +You're up and running! Both Dapr and your app logs will appear here. + +== APP == Saving Order: Order { orderId = 1 } +== APP == Getting Order: Order { orderId = 1 } +== APP == Deleting Order: Order { orderId = 1 } +== APP == Saving Order: Order { orderId = 2 } +== APP == Getting Order: Order { orderId = 2 } +== APP == Deleting Order: Order { orderId = 2 } +== APP == Saving Order: Order { orderId = 3 } +== APP == Getting Order: Order { orderId = 3 } +== APP == Deleting Order: Order { orderId = 3 } +``` + +2. Stop and cleanup application process + +```bash +dapr stop -f +``` + + +## Run a single app at a time with Dapr (Optional) + +An alternative to running all or multiple applications at once is to run single apps one-at-a-time using multiple `dapr run .. -- go run` commands. This next section covers how to do this. + +1. Run the Go service app with Dapr: ```bash cd ./order-processor -dapr run --app-id order-processor --resources-path ../../../resources -- go run . +dapr run --app-id order-processor --resources-path ../../../resources/ -- go run +``` + +The Terminal console output should look similar to this: + +```text +You're up and running! Both Dapr and your app logs will appear here. + +== APP == Saving Order: Order { orderId = 1 } +== APP == Getting Order: Order { orderId = 1 } +== APP == Deleting Order: Order { orderId = 1 } +== APP == Saving Order: Order { orderId = 2 } +== APP == Getting Order: Order { orderId = 2 } +== APP == Deleting Order: Order { orderId = 2 } +== APP == Saving Order: Order { orderId = 3 } +== APP == Getting Order: Order { orderId = 3 } +== APP == Deleting Order: Order { orderId = 3 } ``` +2. Stop and clean up application processes +dapr stop --app-id order-processor + diff --git a/state_management/go/http/dapr.yaml b/state_management/go/http/dapr.yaml new file mode 100644 index 000000000..09fe119c0 --- /dev/null +++ b/state_management/go/http/dapr.yaml @@ -0,0 +1,9 @@ + +version: 1 +common: + resourcesPath: ../../resources/ +apps: + - appID: order-processor + appDirPath: ./order-processor/ + command: ["go", "run", "."] + diff --git a/state_management/go/http/order-processor/order_processor_example.exe b/state_management/go/http/order-processor/order_processor_example.exe new file mode 100644 index 000000000..a379e752b Binary files /dev/null and b/state_management/go/http/order-processor/order_processor_example.exe differ diff --git a/state_management/go/sdk/README.md b/state_management/go/sdk/README.md index 80f68a388..1a31bef43 100644 --- a/state_management/go/sdk/README.md +++ b/state_management/go/sdk/README.md @@ -1,32 +1,104 @@ # Dapr state management -In this quickstart, you'll create a microservice to demonstrate Dapr's state management API. The service generates messages to store data in a state store. +In this quickstarts, you'll create a microservice to demonstrate Dapr's state management API. The service generates messages to store data in a state store. Visit the Dapr documentation on [State Management](https://docs.dapr.io/developing-applications/building-blocks/state-management/) for more information. > **Note:** This example leverages the Dapr Client SDK. You can find an example using plain HTTP in the [`http` folder](../http/). -This quickstart includes one service: Go client service `order-processor` +This quickstarts includes one service: Go client service `order-processor` -### Run Go service with Dapr +## Run multiple apps with multi-app run template file -1. Run the Go service app with Dapr in the `order-processor` folder: +This section shows how to run applications at once using [multi-app run template files](https://docs.dapr.io/developing-applications/local-development/multi-app-dapr-run/multi-app-overview/) with `dapr run -f .`. This enables to you test the interactions between multiple applications. + +Open a new terminal window and run `order-processor` using the multi app run template defined in [dapr.yaml](./dapr.yaml): + +1. Run the Go service app with Dapr: ```bash -cd ./order-processor -dapr run --app-id order-processor --resources-path ../../../resources -- go run . + dapr run -f . ``` +The Terminal console output should look similar to this: + +```text +You're up and running! Both Dapr and your app logs will appear here. + +== APP == Saving Order: Order { orderId = 1 } +== APP == Getting Order: Order { orderId = 1 } +== APP == Deleting Order: Order { orderId = 1 } +== APP == Saving Order: Order { orderId = 2 } +== APP == Getting Order: Order { orderId = 2 } +== APP == Deleting Order: Order { orderId = 2 } +== APP == Saving Order: Order { orderId = 3 } +== APP == Getting Order: Order { orderId = 3 } +== APP == Deleting Order: Order { orderId = 3 } +``` + +2. Stop and cleanup application process + +```bash +dapr stop -f +``` + +## Run a single app at a time with Dapr (Optional) + +An alternative to running all or multiple applications at once is to run single apps one-at-a-time using multiple `dapr run .. -- go run` commands. This next section covers how to do this. + +1. Run the Go service app with Dapr: + + + +```bash +cd ./order-processor +dapr run --app-id order-processor --resources-path ../../../resources/ -- go run +``` + +The Terminal console output should look similar to this: + +```text +You're up and running! Both Dapr and your app logs will appear here. + +== APP == Saving Order: Order { orderId = 1 } +== APP == Getting Order: Order { orderId = 1 } +== APP == Deleting Order: Order { orderId = 1 } +== APP == Saving Order: Order { orderId = 2 } +== APP == Getting Order: Order { orderId = 2 } +== APP == Deleting Order: Order { orderId = 2 } +== APP == Saving Order: Order { orderId = 3 } +== APP == Getting Order: Order { orderId = 3 } +== APP == Deleting Order: Order { orderId = 3 } +``` + +2. Stop and clean up application processes +dapr stop --app-id order-processor + + \ No newline at end of file diff --git a/state_management/go/sdk/dapr.yaml b/state_management/go/sdk/dapr.yaml new file mode 100644 index 000000000..a312578a2 --- /dev/null +++ b/state_management/go/sdk/dapr.yaml @@ -0,0 +1,8 @@ + +version: 1 +common: + resourcesPath: ../../resources/ +apps: + - appID: order-processor + appDirPath: ./order-processor/ + command: ["go", "run", "."] diff --git a/state_management/java/http/README.md b/state_management/java/http/README.md index 2ce03e5d7..444ede314 100644 --- a/state_management/java/http/README.md +++ b/state_management/java/http/README.md @@ -10,14 +10,18 @@ Visit [this](https://docs.dapr.io/developing-applications/building-blocks/state- * [Dapr and Dapr Cli](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 11 (or greater): - * [Microsoft JDK 11](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-11) - * [Oracle JDK 11](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK11) - * [OpenJDK 11](https://jdk.java.net/11/) + * [Microsoft JDK 11](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-11) + * [Oracle JDK 11](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK11) + * [OpenJDK 11](https://jdk.java.net/11/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. -This quickstart includes one service: +This quickstart includes one service: Java client service `order-processor` -- Java client service `order-processor` +## Run multiple apps with multi-app run template file + +This section shows how to run applications at once using [multi-app run template files](https://docs.dapr.io/developing-applications/local-development/multi-app-dapr-run/multi-app-overview/) with `dapr run -f .`. This enables to you test the interactions between multiple applications. + +Open a new terminal window and run `order-processor` using the multi app run template defined in [dapr.yaml](./dapr.yaml): ### Run Java service with Dapr @@ -27,6 +31,47 @@ This quickstart includes one service: name: Build Java file --> +```bash + mvn clean install +``` + + + +2. Run the Java service app with Dapr: + + + +```bash + dapr run -f . +``` + +3. Stop and cleanup application process + +```bash +dapr stop --app-id order-processor +``` + + +## Run a single app at a time with Dapr (Optional) + +1. Open a new terminal window and navigate to `order-processor` directory: + + + ```bash cd ./order-processor mvn clean install @@ -48,14 +93,15 @@ output_match_mode: substring background: true sleep: 15 --> - + ```bash cd ./order-processor dapr run --app-id order-processor --resources-path ../../../resources/ -- java -jar target/OrderProcessingService-0.0.1-SNAPSHOT.jar ``` - +3. Stop and cleanup application process ```bash dapr stop --app-id order-processor ``` + \ No newline at end of file diff --git a/state_management/java/http/dapr.yaml b/state_management/java/http/dapr.yaml new file mode 100644 index 000000000..3e8923c31 --- /dev/null +++ b/state_management/java/http/dapr.yaml @@ -0,0 +1,8 @@ + +version: 1 +common: + resourcesPath: ../../../resources/ +apps: + - appID: order-processor + appDirPath: ./order-processor/ + command: ["java", "-jar", "OrderProcessingService-0.0.1-SNAPSHOT.jar"] diff --git a/state_management/java/sdk/README.md b/state_management/java/sdk/README.md index ecffa9cc3..68498e02d 100644 --- a/state_management/java/sdk/README.md +++ b/state_management/java/sdk/README.md @@ -10,14 +10,18 @@ Visit [this](https://docs.dapr.io/developing-applications/building-blocks/state- * [Dapr and Dapr Cli](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 11 (or greater): - * [Microsoft JDK 11](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-11) - * [Oracle JDK 11](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK11) - * [OpenJDK 11](https://jdk.java.net/11/) + * [Microsoft JDK 11](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-11) + * [Oracle JDK 11](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK11) + * [OpenJDK 11](https://jdk.java.net/11/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. -This quickstart includes one service: +This quickstart includes one service: Java client service `order-processor` -- Java client service `order-processor` +## Run multiple apps with multi-app run template file + +This section shows how to run applications at once using [multi-app run template files](https://docs.dapr.io/developing-applications/local-development/multi-app-dapr-run/multi-app-overview/) with `dapr run -f .`. This enables to you test the interactions between multiple applications. + +Open a new terminal window and run `order-processor` using the multi app run template defined in [dapr.yaml](./dapr.yaml): ### Run Java service with Dapr @@ -27,6 +31,49 @@ This quickstart includes one service: name: Build Java file --> +```bash + mvn clean install +``` + + + +2. Run the Java service app with Dapr: + + + +```bash + dapr run -f . +``` + +3. Stop and cleanup application process + +```bash + dapr stop --app-id order-processor +``` + + +## Run a single app at a time with Dapr (Optional) + +1. Open a new terminal window and navigate to `order-processor` directory: + + + ```bash cd ./order-processor mvn clean install @@ -38,23 +85,27 @@ mvn clean install - + ```bash cd ./order-processor dapr run --app-id order-processor --resources-path ../../../resources/ -- java -jar target/OrderProcessingService-0.0.1-SNAPSHOT.jar ``` - +3. Stop and cleanup application process ```bash dapr stop --app-id order-processor ``` + \ No newline at end of file diff --git a/state_management/java/sdk/dapr.yaml b/state_management/java/sdk/dapr.yaml new file mode 100644 index 000000000..3e8923c31 --- /dev/null +++ b/state_management/java/sdk/dapr.yaml @@ -0,0 +1,8 @@ + +version: 1 +common: + resourcesPath: ../../../resources/ +apps: + - appID: order-processor + appDirPath: ./order-processor/ + command: ["java", "-jar", "OrderProcessingService-0.0.1-SNAPSHOT.jar"] diff --git a/state_management/javascript/http/README.md b/state_management/javascript/http/README.md index a23572b18..953e33cce 100644 --- a/state_management/javascript/http/README.md +++ b/state_management/javascript/http/README.md @@ -6,9 +6,52 @@ Visit [this](https://docs.dapr.io/developing-applications/building-blocks/state- > **Note:** This example leverages HTTP `requests` only. If you are looking for the example using the Dapr Client SDK (recommended) [click here](../sdk/). -This quickstart includes one service: +This quickstart includes one service: Node client service `order-processor` -- Node client service `order-processor` +This section shows how to run applications at once using [multi-app run template files](https://docs.dapr.io/developing-applications/local-development/multi-app-dapr-run/multi-app-overview/) with `dapr run -f .`. This enables to you test the interactions between multiple applications. + +Open a new terminal window and run `order-processor` using the multi app run template defined in [dapr.yaml](./dapr.yaml): + +1. Open a new terminal window and navigate to `order-processor` directory: + + + +```bash + npm install +``` + + + +2. Run the Java service app with Dapr: + + + +```bash + dapr run -f . +``` + +3. Stop and cleanup application process + +```bash + dapr stop --app-id order-processor +``` + ### Run Node service with Dapr @@ -19,8 +62,7 @@ name: Install Node dependencies --> ```bash -cd ./order-processor -npm install + npm install ``` @@ -35,16 +77,19 @@ expected_stdout_lines: expected_stderr_lines: working_dir: ./order-processor output_match_mode: substring +match_order: none background: true sleep: 10 +timeout_seconds: 5 --> ```bash dapr run --app-id order-processor --resources-path ../../../resources/ -- npm start ``` - +2. Stop and cleanup the process ```bash dapr stop --app-id order-processor ``` + \ No newline at end of file diff --git a/state_management/javascript/http/dapr.yaml b/state_management/javascript/http/dapr.yaml new file mode 100644 index 000000000..56d853ebe --- /dev/null +++ b/state_management/javascript/http/dapr.yaml @@ -0,0 +1,8 @@ + +version: 1 +common: + resourcesPath: ../../../resources/ +apps: + - appID: order-processor + appDirPath: ./order-processor/ + command: ["npm", "run", "start"] diff --git a/state_management/javascript/sdk/dapr.yaml b/state_management/javascript/sdk/dapr.yaml new file mode 100644 index 000000000..56d853ebe --- /dev/null +++ b/state_management/javascript/sdk/dapr.yaml @@ -0,0 +1,8 @@ + +version: 1 +common: + resourcesPath: ../../../resources/ +apps: + - appID: order-processor + appDirPath: ./order-processor/ + command: ["npm", "run", "start"]