Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
376 views
in Technique[技术] by (71.8m points)

vert.x - Sending the error in case of GRPC with full duplex ReadStream and WriteStream

Can someone help me understand how I can send the error in case of full duplex with ReadStream and WriteStream.

This is the sample proto file.

syntax = "proto3";

option java_multiple_files = true;
option java_package = "com.pace.vertx.grpc.generated";
package com.pace.vertx.grpc.generated;


service ArrangementService {
  rpc GetArrangementDetails (stream ArrangementRequest) returns (stream ArrangementAllDetails) {}
}

message ArrangementRequest {
  string arrangementId = 1;
}

message ArrangementAllDetails {
  string arrangementDetails = 1;
}

This is the code I have so far.

    BindableService vertxArrangementServiceGrpc = new VertxArrangementServiceGrpc.ArrangementServiceVertxImplBase() {
        @Override
        public void getArrangementDetails(ReadStream<ArrangementRequest> request, WriteStream<ArrangementAllDetails> response) {
            Pump.pump((ReadStream)request, response).start();
            request.handler(arrangementRequest -> {
                couchbaseDAO.getReactiveCollection()
                        .get(arrangementRequest.getArrangementId())
                        .map(getResult -> getResult
                                .contentAsObject()
                                .removeKey("key_tx")
                                .removeKey("version"))
                        .subscribe(
                                jsonObject -> response.end(ArrangementAllDetails.newBuilder().setArrangementDetails(jsonObject.toString()).build()),
                                error -> ?????
                        );

            });
        }
    }
            .withCompression("gzip");

How can I send the error back in the error subscription block ?

question from:https://stackoverflow.com/questions/66047667/sending-the-error-in-case-of-grpc-with-full-duplex-readstream-and-writestream

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

This answer to "Pattern for rich error handling in gRPC" question might be helpful.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...