blob: 8794937d28008a3b97c5b17df42b8b9dd410502c [file] [log] [blame] [view]
gRPC Hostname Example
=====================
The hostname example is a Hello World server whose response includes its
hostname. It also supports health and reflection services. This makes it a good
server to test infrastructure, like load balancing.
The example requires grpc-java to already be built. You are strongly encouraged
to check out a git release tag, since there will already be a build of grpc
available. Otherwise you must follow [COMPILING](../../COMPILING.md).
### Build the example
1. Build the hello-world example client. See [the examples README](../README.md)
2. Build this server. From the `grpc-java/examples/examples-hostname` directory:
```
$ ../gradlew installDist
```
This creates the script `build/install/hostname-server/bin/hostname-server` that
runs the example.
To run the hostname example, run:
```
$ ./build/install/hostname-server/bin/hostname-server
```
And in a different terminal window run the hello-world client:
```
$ ../build/install/examples/bin/hello-world-client
```
### Maven
If you prefer to use Maven:
1. Build the hello-world example client. See [the examples README](../README.md)
2. Run in this directory:
```
$ mvn verify
$ # Run the server (from the examples-hostname directory)
$ mvn exec:java -Dexec.mainClass=io.grpc.examples.hostname.HostnameServer
$ # In another terminal run the client (from the examples directory)
$ cd ..
$ mvn exec:java -Dexec.mainClass=io.grpc.examples.helloworld.HelloWorldClient
```
### Bazel
If you prefer to use Bazel, run from the `grpc-java/examples` directory:
```
$ bazel build :hello-world-client example-hostname:hostname-server
$ # Run the server
$ ./bazel-bin/example-hostname/hostname-server
$ # In another terminal run the client
$ ./bazel-bin/hello-world-client
```