Thanks for your help. I found a class that ensures synchronization of StreamObserver methods. Link: https://github.com/stargate/stargate
public class SynchronizedStreamObserver<V> implements StreamObserver<V> { private final StreamObserver<V> streamObserver; public SynchronizedStreamObserver(StreamObserver<V> streamObserver) { this.streamObserver = streamObserver; } @Override public void onNext(V value) { synchronized (streamObserver) { streamObserver.onNext(value); } } @Override public void onError(Throwable t) { synchronized (streamObserver) { streamObserver.onError(t); } } @Override public void onCompleted() { synchronized (streamObserver) { streamObserver.onCompleted(); } } } On Saturday, September 16, 2023 at 2:55:09 AM UTC+7 Terry Wilson wrote: > Yes, you should not have two threads calling onNext() on the same > StreamObserver. If you do, you can get messages interleaved with each other > and most likely just produce garbage. > > You need to make sure that your application acquires a lock before calling > any of the methods on StreamObserver. Note that you CAN concurrently call > the separate StreamObserver instances you have for incoming an outgoing > messages. > > On Wednesday, September 6, 2023 at 9:41:25 PM UTC-7 Quyen Pham Ngoc wrote: > >> I use grpc in Java multithread application. The documentation says: >> "Since individual StreamObservers are not thread-safe, if multiple threads >> will be writing to a StreamObserver concurrently, the application must >> synchronize calls." >> >> Is it true that with every onNext request of each StreamObservers I have >> to be thread-safe? What do I do when using StreamObserver in a multi-thread >> application environment? What happens if thread-safety is not guaranteed? >> >> Sincerely thank you for your help >> > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/2369210b-5b6b-4f02-86c2-c0b89e3a239en%40googlegroups.com.