When creating a shared producer from a Verticle it should stay alive (aka not closed) till the Verticle close(..) method finished.
Currently shared producers register a shutdown hook with VertxInternal directly and therefore the producer is closed ahead of time.
within the stop(Promise<Void> stopPromise) method of the verticle wait a few milliseconds to simulate finish processing currently in-flight-messages and try to send a message before completing the stop-promise
Version
4.X
Context
When creating a shared producer from a Verticle it should stay alive (aka not closed) till the Verticle
close(..)
method finished. Currently shared producers register a shutdown hook withVertxInternal
directly and therefore the producer is closed ahead of time.Do you have a reproducer?
Testcase (and PR) here
Steps to reproduce
close
vertxstop(Promise<Void> stopPromise)
method of the verticle wait a few milliseconds to simulate finish processing currently in-flight-messages and try to send a message before completing the stop-promise