Вместо использования слушателя, вы можете заключить ваш dataqueue.read () в цикл и попробовать / поймать.Если вы получаете InterruptedException, зацикливайтесь.
Я предполагаю, что эти прерывания случаются редко и ваш код не генерирует их для каких-то целей.«Явные» прерывания могут происходить в Java и могут игнорироваться.