Ограничение на использование BlockingQueue , у него есть очередь с пороговой точкой.Опубликовать этот пункт, больше не могут обрабатываться темы.В сценарии потерянные данные не могут быть восстановлены, когда исключения (сбои) генерируются группой потоков (X или Y) (которые не могут быть обработаны снова).
Однако, Пользовательское событиеПрослушиватель является предпочтительным подходом, когда подтверждение может быть сделано для всех потоков, а в случае исключения потока (сбоя) мы можем извлечь потерянные данные, используя некоторый механизм повторной обработки.
Может использовать ReactiveX ( Наблюдаемая ) библиотека для этой проблемы.