grpc-java/examples/example-hostname
Eric Anderson f3f4ed4ef3 Upgrade to Gradle 8.2.1 and upgrade plugins
Most changes are migrating from conventions to the equivalent
extensions. JMH, AppEngine, and Jib plugins trigger future compatibility
warnings with `--warning-mode all`.

The movement of configurations was to allow sourceSets to create the
configurations and then we just configure them. When configurations were
before sourceSets, we'd implicitly create the configuration.

The examples were _not_ updated to the newer Gradle, although the
non-Android examples work with the newer Gradle. The Android examples
use an older Android Gradle Plugin which will need to be upgraded first.
https://github.com/grpc/grpc-java/issues/10445
2023-08-02 13:29:44 -07:00
..
src examples: Swap to Channel/ServerCredentials API 2022-11-21 09:09:21 -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 Upgrade to Gradle 8.2.1 and upgrade plugins 2023-08-02 13:29:44 -07:00
pom.xml Upgrade dependencies post v1.57.x branch cut (#10359) 2023-07-21 10:15:05 -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