From d63fb279ad3ca8232f15a0c62572be546c1bc864 Mon Sep 17 00:00:00 2001 From: Artur Souza Date: Fri, 24 Jan 2020 11:26:02 -0800 Subject: [PATCH] Update debug instructions since LB is not needed. --- README.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 3194912943..f6bf9cf370 100644 --- a/README.md +++ b/README.md @@ -48,27 +48,28 @@ mvn versions:commit ### Debug Java application or Dapr's Java SDK -If you have a Java application or an issue on this SDK that needs to be debugged, follow the steps below: +If you have a Java application or an issue on this SDK that needs to be debugged, run Dapr using a dummy command and start the application from your IDE (IntelliJ, for example). +For Linux and MacOS: -Install [Pen Load Balancer](https://sourceforge.net/projects/penloadbalancer/) or your preferred load balancer utility: ```sh -sudo apt-get install pen +dapr run --app-id testapp --app-port 3000 --port 3500 --grpc-port 5001-- cat ``` -Note: Pen is also available on Windows in the link above. For MacOS, you will need to [build it from source code](https://github.com/UlricE/pen/wiki/Building-Pen-from-Git). -Then run Dapr with the load balancer process listening on port 3001 and forwarding to port 3000. For Pen Load Balancer, it would be: +For Windows: ```sh -dapr run --app-id testapp --app-port 3001 --port 3500 -- pen -b 99999999 -f localhost:3001 localhost:3000 +dapr run --app-id testapp --app-port 3000 --port 3500 --grpc-port 5001 -- waitfor FOREVER ``` -The command below will start a load balancer listening on port `3001` that forwards connections to port `3000`, while Dapr's app identifier is `testapp` and listening port is `3500`. If you try to make a HTTP call to any URL on `localhost:3001`, it will fail until you have an application listening on `localhost:3000`. +When running your Java application from IDE, make sure the following environment variables are set, so the Java SDK knows how to connect to Dapr's sidecar: +``` +DAPR_HTTP_PORT=3500 +DAPR_GRPC_PORT=5001 +``` Now you can go to your IDE (like IntelliJ, for example) and debug your Java application, using port `3500` to call Dapr while also listening to port `3000` to expose Dapr's callback endpoint. Calls to Dapr's APIs on `http://localhost:3500/*` should work now and trigger breakpoints in your code. -**If your application needs to suscribe to topics or register Actors in Dapr, for example, then start debugging your app first and run dapr with load balancer last.** - -Reminder: for Dapr, your application is listening to port `3001` and not `3000` since it can only see the load balancer's port. +**If your application needs to suscribe to topics or register Actors in Dapr, for example, then start debugging your app first and run dapr with dummy command last.** **If using Visual Studio Code, also consider [this solution as well](https://github.com/dapr/docs/tree/master/howto/vscode-debugging-daprd).**