grpc-java/examples/example-hostname
Eric Anderson f30964ab82
Bump versions of dependencies (#12252)
Notably, protobuf to 3.25.8, opentelemetry to 1.52.0. Protobuf in Bazel
has 25.5 in the BCR and it seems better to align the WORKSPACE
with that version. But we can't actually use 25.5 in BCR because it is
incompatible with Bazel 7.
2025-08-06 11:01:45 -07:00
..
src examples: Simplify graceful shutdown in Hostname example 2024-12-11 08:12:11 -08:00
BUILD.bazel examples: Add hostname example 2020-01-17 15:50:49 -08:00
README.md examples: Fix hostname binary name in README 2023-05-16 15:44:09 -07:00
build.gradle Bump versions of dependencies (#12252) 2025-08-06 11:01:45 -07:00
pom.xml Bump versions of dependencies (#12252) 2025-08-06 11:01:45 -07:00
settings.gradle examples: Add hostname example 2020-01-17 15:50:49 -08:00

README.md

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.

Build the example

  1. Build the hello-world example client. See the examples README

  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

  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