Documentation on how to debug Java apps or SDK.

This commit is contained in:
Artur Souza 2019-12-11 00:05:51 -08:00
parent 900eacc5ce
commit 05eb058492
1 changed files with 22 additions and 0 deletions

View File

@ -45,3 +45,25 @@ To increase the version of all modules and pom files, run the following commands
mvn versions:set -DnewVersion="0.1.0-preview02"
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:
Install [Pen Load Balancer](https://sourceforge.net/projects/penloadbalancer/) or your preferred load balancer utility:
```sh
sudo apt-get install pen
```
Note: Pen is also available on Windows and MacOS.
Then run Dapr with the load balancer process listening on port 3001 and forwarding to port 3000. For Pen Load Balancer, it would be:
```sh
dapr run --app-id testapp --app-port 3001 --port 3500 -- pen -b 99999999 -f localhost:3001 localhost:3000
```
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`.
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.
Reminder: for Dapr, your application is listening to port `3001` and not `3000` since it can only see the load balancer's port.