grpc java环境搭建+简单例子

本文详细介绍了在Ubuntu 16.04上搭建Java GRPC环境的过程,包括protobuf的使用、protoc-gen-grpc-java插件的下载与安装,以及GRPC服务器和客户端程序的编写。作者遇到网上教程不适用和Github资源无法访问的问题,通过实践最终成功实现了一个简单的HelloWorld示例。文章最后给出了GRPC服务器和客户端的Java代码片段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前用GRPC主要是用Golang,Java之前基本只停留在会写hello world阶段。现在工作上需要用到Java的GRPC,所以不得不从头开始。让我沮丧的是,网上现有的教程基本都跑不通,然后Github上的grpc-java库按照readme一步一步走又提示一个网站不可达(不知道是不是被墙了)。靠着摸索一步一步地把一个Java的GRPC基本的HelloWorld弄通了。我主要参考的是这篇博客:

https://blog.youkuaiyun.com/qq_35047503/article/details/80985794

写GRPC程序其实总结起来就是:利用protobuf将定义的消息和服务生成对应语言的源代码,然后下载对应语言的grpc库,通过grpc库调用生成的服务,传递消息。

我的环境是ubuntu 16.04,之前我的电脑上是装了protoc命令的,GRPC程序需要使用protoc将.proto文件生成对应的源代码文件。没有装的话百度一下也会有很多教程。

定义proto文件helloworld.proto:

syntax = "proto3";
option java_multiple_files = true;
option java_package = "demo";
option java_outer_classname = "HelloWorldProto";
//option java_generic_services = true;
// 可以生成rpc接口

package helloworld;
service GreetHelloWorld {
rpc SayHello (HelloWorldRequest) returns (HelloWorldResponse);
}

message HelloWorldRequest {
string name = 1;
}


message HelloWorldResponse {
string message = 1;
}

用这个来生成java源文件。有一些教程上面说把这个文件放到一个maven工程中可以一键自动生成java文件,但是我试了没有成功。如果您看到这篇文章知道如何利用maven生成java源文件的话希望您能告诉我一下。

此时还不够,需要下载protoc的java插件,否则只会针对message生成java文件,我们定义的service GreetHelloWorld没有办法生成java文件。需要下载protoc-gen-grpc-java插件,下载地址:https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/

文件名里就是具体用于哪个平台的grpc-java插件,虽然都是.exe结尾,但是不都是windows平台下面的东西。将grpc-java插件可执行文件下载下来即可。

编译proto文件:

protoc --java_out=./ ./helloworld.proto

这条命令会将定义的message编译成.java文件

protoc --plugin=protoc-gen-grpc-java=grpc-java插件可执行文件路径 --grpc-java_out=./ ./helloworld.proto

这条命令将定义的servic

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值