下載對應的版本編譯器,並把路徑加入到環境變量中,執行如下命令生成代碼java
protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/addressbook.proto
-I
表示源碼所在文件夾位置,--java_out
表示輸出路徑,空格後表示具體的 proto 文件位置,如下爲示例命令git
protoc -I=C:\Users\JR\DaprDemos\java\examples\src\main\protos\examples --java_out=C:\Users\JR\DaprDemos\java\examples\src\main\java C:\Users\JR\DaprDemos\java\examples\src\main\protos\examples\helloworld.proto
啓動 Dapr gRPC 服務端github
dapr run --app-id hellogrpc --app-port 5000 --protocol grpc -- mvn exec:java -pl=examples -Dexec.mainClass=server.HelloWorldService -Dexec.args="-p 5000"服務端主要實現說明
onInvoke()
函數,該函數爲 Dapr gRPC 調用封裝。該函數提供兩個簽名 InvokeEnvelope
和 StreamObserver<Any>
InvokeEnvelope
用於解析 gRPC 請求函數StreamObserver<Any>
用於瘋轉 gRPC 應答Say
SayRequest
SayResponse
onInvoke
函數中調用啓動 Dapr gRPC 客戶端app
dapr run --protocol grpc --grpc-port 50001 -- mvn exec:java -pl=examples -Dexec.mainClass=client.HelloWorldClient -Dexec.args="-p 50001 'message one' 'message two'"客戶端主要實現說明
InvokeServiceEnvelope()
函數
gRPC 服務端收到消息ide
輸出爲:函數
Server: message one Server: message two
至此, Java 客戶端服務端經過 Dapr 完成 gRPC 通信。code
源碼地址server