grpc-java/examples/example-kotlin
Eric Anderson b64cde1488 Encourage using grpc-netty-shaded instead of grpc-netty
grpc-netty is still really useful, but for most users who aren't doing
anything advanced using grpc-netty-shaded is much safer from a
dependency basis.

grpc-netty-shaded has seen more usage and has shown itself to be stable
and reduce the number of conflicts due to Netty versions.
2018-08-02 16:58:59 -07:00
..
android/helloworld Upgrade Gradle to 4.9 2018-07-26 13:43:50 -07:00
gradle/wrapper Upgrade Gradle to 4.9 2018-07-26 13:43:50 -07:00
src examples: use GrpcCleanupRule for test examples 2018-05-14 11:30:38 -07:00
README.md examples: use GrpcCleanupRule for test examples 2018-05-14 11:30:38 -07:00
build.gradle Encourage using grpc-netty-shaded instead of grpc-netty 2018-08-02 16:58:59 -07:00
gradlew examples: add kotlin and kotlin android examples (#4037) 2018-05-01 14:54:34 -07:00
gradlew.bat examples: add kotlin and kotlin android examples (#4037) 2018-05-01 14:54:34 -07:00
settings.gradle examples: add kotlin and kotlin android examples (#4037) 2018-05-01 14:54:34 -07:00

README.md

grpc Kotlin example

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.md.

You may want to read through the Quick Start Guide before trying out the examples.

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.

Unit test examples

Examples for unit testing gRPC clients and servers are located in ./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 InProcessChannelBuilder.java and test it against an InProcessServer.java 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.

The gRPC-java library also provides a JUnit rule, GrpcCleanupRule.java, to do the graceful shutdown boilerplate for you.