grpc-java/examples
Kun Zhang 1aaf1a989c compiler: final bindService() in generated code. (#2553)
So that it won't be overridden by Mockito when it creates a mock for
the server interface.
2016-12-29 10:32:47 -08:00
..
android all: update to guava 20 2016-12-16 15:15:17 -08:00
gradle/wrapper all: update to gradle 3.2 2016-11-23 14:43:18 -08:00
src compiler: final bindService() in generated code. (#2553) 2016-12-29 10:32:47 -08:00
thrift Support Thrift Messages 2016-07-28 08:48:27 -07:00
README.md examples: unit test examples for users 2016-11-15 14:15:55 -08:00
build.gradle examples: unit test examples for users 2016-11-15 14:15:55 -08:00
gradlew all: update to gradle 3.2 2016-11-23 14:43:18 -08:00
gradlew.bat all: update to gradle 3.2 2016-11-23 14:43:18 -08:00
pom.xml examples: unit test examples for users 2016-11-15 14:15:55 -08:00
settings.gradle Support Thrift Messages 2016-07-28 08:48:27 -07:00

README.md

grpc Examples

The examples require 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.

To build the examples, run in this directory:

$ ./gradlew installDist

This creates the scripts hello-world-server, hello-world-client, route-guide-server, and route-guide-client in the build/install/examples/bin/ directory that run the examples. Each example requires the server to be running before starting the client.

For example, to try the hello world example first run:

$ ./build/install/examples/bin/hello-world-server

And in a different terminal window run:

$ ./build/install/examples/bin/hello-world-client

That's it!

Please refer to gRPC Java's README and tutorial for more information.

Maven

If you prefer to use Maven:

$ mvn verify
$ # Run the server
$ mvn exec:java -Dexec.mainClass=io.grpc.examples.helloworld.HelloWorldServer
$ # In another terminal run the client
$ mvn exec:java -Dexec.mainClass=io.grpc.examples.helloworld.HelloWorldClient

Unit test examples

Examples for unit testing gRPC clients and servers are located in examples/src/test.

In general, we DO NOT allow overriding the client stub. We encourage users to leverage InProcessTransport as demonstrated in the examples to write unit tests. InProcessTransport is light-weight and runs the server and client in the same process without any socket/TCP connection.

For testing a gRPC client, create the client with a real stub using an InProcessChannel, and test it against an InProcessServer with a mock/fake service implementation.

For testing a gRPC server, create the server as an InProcessServer, and test it against a real client stub with an InProcessChannel.