-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
The javadocs for Subscriber.stopAsync() (really from AbstractApiService) read:
... this initiates a service shutdown and returns immediately.
This does not seem to be how it is implemented in Pub/Sub. The doStop() calls into the MessageDispatcher.stop() then into the MessageWaiter.waitNoMessages(), etc..
Maybe the method name needs to be changed or the functionality updated? What I've had to do outside is to fork a thread that calls stopAsync(), dequeue messages from the receiver queues in other thread(s) so they can be nack'd in a ~spin loop, notice when the subscriber.state() gets to TERMINATED, and then join with the stopping thread.
A simple way to test this is to receive a message, don't ack or nack it reply-consumer, and the call stopAsync().
Maybe I am missing a configuration option or something? Thanks.