java调用grpc

news/2024/9/20 0:38:18

1.创建proto文件

// 使用该proto文件可以定义交互的服务接口,基于该文件编译成的源文件可以分别复制到 client端和server端,便于两者使用syntax = "proto3"; // 定义语法类型,通常proto3好于proto2,proto2好于proto1,如果不指定,默认使用proto2,必须位于第一行package hello; // 定义作用域
option java_multiple_files = false; // 表示下面的message不需要编译成多个java文件
option java_outer_classname = "HelloMessage"; // 表示下面的message编译成的java类文件的名字
option java_package = "grpc"; //指定该proto文件编译成的java源文件的包名service Hello {  // 定义服务rpc sayHello(HelloRequest) returns(HelloResponse) {}
}message HelloRequest { // 定义请求的消息体string name = 1;
}message HelloResponse { // 定义回复的消息体string message = 1;
}

2. 根据proto生成2个java文件

  1. 将proto中定义的结构体转换为Java中的对象
  2. 生成java版本的grpc文件

1. protobuf插件

https://github.com/protocolbuffers/protobuf/releases

安装protoc.exe后添加路径的环境变量Path中,方便全局使用,执行如下命令protoc.exe  --java_out=./ --proto_path=./  hello.proto执行完在java_package定义目录下生成文件名为java_outer_classname定义的Java代码文件

2. protoc-gen-grpc-java插件

https://repo.maven.apache.org/maven2/io/grpc/protoc-gen-grpc-java/

下载到protoc的bin目录下,前面已经添加了Path,直接就能全局使用protoc.exe --plugin=protoc-gen-grpc-java.exe --grpc-java_out ./ --proto_path=./ hello.proto执行完在java_package定义目录下生成文件名为ServiceGrpc.java文件(这里的Service是Heelo,也就是HelloGrpc.java)

3.操作截图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/47575.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

MoneyPrinterPlus:AI自动短视频生成工具-腾讯云配置详解

详细介绍如何使用在MoneyPrinterPlus中配置使用腾讯云语音服务,实现AI自动短视频生成。MoneyPrinterPlus可以使用大模型自动生成短视频,其中的语音合成和语音识别部分需要借助于一些第三发云厂商的语音服务。 很多小伙伴可能不知道应该如何配置,这里给大家提供一个详细的腾讯…

Photoshop增加对.ico,.webp,.avif格式的支持,如何让ps可以打开和保存avif,webp,ico格式

压缩尺寸对比: 安装方法: 将解压缩得到的.8bi文件复制到Photoshop安装文件下的一下路径即可: Adobe Photoshop 2023\Required\Plug-ins\File Formats 附件中的8bi插件,支持x64的都有,x32的只有部分有,注意区分。Photoshop插件下载: 链接:https://pan.baidu.com/s/1vsZ…

如何在Spring Boot框架下实现高效的Excel服务端导入导出?

前言 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。今天我们就使用纯前对按表格控件带大家了解,如何在Spring Boot框架下实现Excel服务端…

rhel9.2离线下载安装包,并安装

linux离线下载安装包 [root@localhost local]# mkdir files#创建文件夹[root@localhost local]# cd files[root@localhost files]# pwd/usr/local/files#查看下载文件夹路径[root@localhost files]# dnf install --downloadonly --downloaddir=/usr/local/files vim gcc gcc-c+…

weblogic线程阻塞性能调优(图解)

转载:https://www.cnblogs.com/summer520/p/3656151.html 转自:http://blog.csdn.net/z69183787/article/details/12647539声明:出现这个问题有程序方面、网络方面、weblogic设置方面等等原因,此文章主要讲述由于weblogic设置而导致的解决办法。 因为: 1.程序问题,需要项…

VMwarep挂载镜像及配置本地Yum源

1.挂载镜像:*. 通过mount命令linux mount挂载设备(u盘,光盘,iso等 )使用说明*. 通过VMware的控制页面手工挂载1.1 打开Vmware软件 1.2 反键选择要挂载镜像的机器1.3 点击设置 1.4 选择“CD/DVD”1.4.1 将设备状态的“启动时连接”勾选上1.4.2 选择“使用ISO映像…

多 tab 打开 API,Fast Request 2024.1.6 发布

Fast Request 是一个类似于 Postman 的 IDEA 插件。它是一个强大的 restful api 工具包插件,可以根据已有的方法帮助您快速、自动生成 url 和 params。 Restful Fast Request = API 调试工具 + API 管理工具 + API 搜索工具。 它有一个漂亮的界面来完成请求、检查服务器响应、…