grpc java笔记

搭建java rpc example教程

  • protoBuf下载,window版:protoc-3.11.2-win64.zip
    https://github.com/protocolbuffers/protobuf/releases
    https://www.jianshu.com/p/21319d2507ea
  • 下载v1.26.0版本的grpc-java https://github.com/grpc/grpc-java
  • 使用idea创建一个新项目
  • 将grpc-java中 \examples\src\main\java\io\grpc\examples\helloworld 的HelloWorldClient.java、HelloWorldServer.java拷到新项目
  • 添加gradle库
    implementation 'io.grpc:grpc-netty-shaded:1.26.0'
    implementation 'io.grpc:grpc-protobuf:1.26.0'
    implementation 'io.grpc:grpc-stub:1.26.0'
    implementation "com.google.protobuf:protobuf-java-util:3.11.1"
  • 使用命令方式生成Java文件。切换目录:cd \examples\protos,打开cmd,输入
    protoc --plugin=protoc-gen-grpc-java=/Users/lishihao/Desktop/github/grpc-java-master/compiler/build/exe/java_plugin/protoc-gen-grpc-java --grpc-java_out=./ --proto_path=./ helloworld.proto
    protoc ./depth.proto --java_out=./
    ,生成如下文件
HelloReply.java
HelloReplyOrBuilder.java
HelloRequest.java
HelloRequestOrBuilder.java
HelloWorldProto.java
GreeterGrpc.java

https://www.fireflyi.com/article/46

  • 使用插件方式生成java文件。
    https://www.cnblogs.com/resentment/p/6715124.html
  • 拷贝生成的文件到新项目
  • 启动HelloWorldServer.java、HelloWorldClient.java
    https://www.grpc.io/docs/quickstart/java/

使用插件方式生成java文件

  • .proto文件语法高亮显示。依次点击Intellij中的“File”-->"Settings"-->"Plugins"-->"Browse repositories",如下所示:


    image.png
  • .proto文件语法高亮显示。输入Protobuf,如下所示


    image.png

    安装完后,重启Intellij IDEA,查看.proto文件,会发现已经支持语法高亮显示。

  • 在/main下创建.proto文件夹,将.proto文件放在这
  • 添加参数到build.gradle文件
buildscript {
    dependencies {
        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.10'
    }
}

protobuf {
    protoc { artifact = "com.google.protobuf:protoc:3.11.2" }
    generateProtoTasks {
        all()*.plugins {
            grpc {
                option 'enable_deprecated=false'
            }
        }
    }
    generatedFilesBaseDir = "$projectDir/src"
}

sourceSets {
    main {
        proto {
            // 除了默认的'src/main/proto'目录新增proto文件的方法
            srcDir 'src/'
        }
    }
}

你可能感兴趣的:(grpc java笔记)