Merge pull request #10 from tbetbetbe/java-move-java-code-to-a-subdir

Java: move java code to a subdir
pull/3109/head
Mugur Marculescu 10 years ago
commit 90d7e25ac0
  1. 9
      Step_1.md
  2. 2
      Step_2.md
  3. 23
      Step_3.md
  4. 0
      java/pom.xml
  5. 0
      java/run_greetings_client.sh
  6. 0
      java/run_greetings_server.sh
  7. 0
      java/src/main/java/ex/grpc/GreetingsClient.java
  8. 0
      java/src/main/java/ex/grpc/GreetingsGrpc.java
  9. 0
      java/src/main/java/ex/grpc/GreetingsImpl.java
  10. 0
      java/src/main/java/ex/grpc/GreetingsServer.java
  11. 0
      java/src/main/java/ex/grpc/Helloworld.java
  12. 0
      java/src/main/proto/helloworld.proto

@ -15,18 +15,17 @@ The gRPC Java Stub classes are created using a gRPC Java plugin, but first the
plugin must be built and installed.
To build the plugin:
```
```sh
$ pushd external/grpc_java
$ make java_plugin
$ popd
```
To use it to generate the code:
```
$ mkdir -p src/main/java
```sh
$ protoc -I . helloworld.proto --plugin=protoc-gen-grpc=external/grpc_java/bins/opt/java_plugin \
--grpc_out=src/main/java \
--java_out=src/main/java
--grpc_out=java/src/main/java \
--java_out=java/src/main/java
```
Next, in [Step - 2](Step_2.md), we'll use the generated Stub implementation to

@ -1,7 +1,7 @@
# Step-2: Write a service client.
This step uses the generated code to write a simple client to access the hello
service. The full client is in [GreetingsClient.java](src/main/java/ex/grpc/GreetingsClient.java).
service. The full client is in [GreetingsClient.java](java/src/main/java/ex/grpc/GreetingsClient.java).
## Configuring the service to connect to.

@ -3,17 +3,17 @@
This step extends the generated server skeleton code to write a simple server
that provides the hello service. This introduces two new classes:
- a service implementation [GreetingsImpl.java](src/main/java/ex/grpc/GreetingsImpl.java).
- a service implementation [GreetingsImpl.java](java/src/main/java/ex/grpc/GreetingsImpl.java).
- a server that hosts the service implementation and allows access over the network: [GreetingsServer.java](src/main/java/ex/grpc/GreetingsServer.java).
- a server that hosts the service implementation and allows access over the network: [GreetingsServer.java](java/src/main/java/ex/grpc/GreetingsServer.java).
## Service implementation
[GreetingsImpl.java](src/main/java/ex/grpc/GreetingsImpl.java)
[GreetingsImpl.java](java/src/main/java/ex/grpc/GreetingsImpl.java)
implements the behaviour we require of our GreetingService. There are a
number of important features of gRPC being used here:
```
```java
public void hello(Helloworld.HelloRequest req,
StreamObserver<Helloworld.HelloReply> responseObserver) {
Helloworld.HelloReply reply = Helloworld.HelloReply.newBuilder().setMessage(
@ -24,7 +24,7 @@ number of important features of gRPC being used here:
```
- it provides a class `GreetingsImpl` that implements a generated interface `GreetingsGrpc.Greetings`
- `GreetingsGrpc.Greetings` declares the method `hello` that was declared in the proto [IDL](src/main/proto/helloworld.proto)
- `GreetingsGrpc.Greetings` declares the method `hello` that was declared in the proto [IDL](java/src/main/proto/helloworld.proto)
- `hello's` signature is typesafe:
hello(Helloworld.HelloRequest req, StreamObserver<Helloworld.HelloReply> responseObserver)
- `hello` takes two parameters:
@ -38,11 +38,11 @@ number of important features of gRPC being used here:
## Server implementation
[GreetingsServer.java](src/main/java/ex/grpc/GreetingsServer.java) shows the
[GreetingsServer.java](java/src/main/java/ex/grpc/GreetingsServer.java) shows the
other main feature required to provde the gRPC service; how to allow a service
implementation to be accessed from the network.
```
```java
private void start() throws Exception {
server = NettyServerBuilder.forPort(port)
.addService(GreetingsGrpc.bindService(new GreetingsImpl()))
@ -62,7 +62,8 @@ implementation to be accessed from the network.
This is the same as before: our client and server are part of the same maven
package so the same command builds both.
```
```sh
$ cd java
$ mvn package
```
@ -71,12 +72,12 @@ $ mvn package
We've added simple shell scripts to simplifying running the examples. Now
that they are built, you can run the server with:
```
```sh
$ ./run_greetings_server.sh
```
and in another terminal window confirm that it receives a message.
```
$ ./run_greetings_client.sh
```sh
$ ./java/run_greetings_client.sh
```

Loading…
Cancel
Save