Interrompendo um encadeamento que aguarda uma ação de bloqueio?

Estou executando um thread cuja ação principal é chamar um proxy usando uma função de bloqueio e aguardar que ele dê algo.

Eu usei o padrão conhecido de um booleano volátil e a Interrupção, mas não tenho certeza se funcionará: Quando tentei adicionar um bloco catch paraInterruptedException , Recebo o erro:

Bloco de captura inacessível para InterruptedException. Essa exceção nunca é lançada do corpo da instrução try

Então, se eu nunca vou conseguir umaInterruptedException, isso significa que nunca sairei da ação de bloqueio e, portanto, nunca pararei.

Estou um pouco confuso. Qualquer ideia?

  public void run() {    
    Proxy proxy = ProxyFactory.generateProxy();
    Source source;

    while (!isStopped) {
      try {
        source = proxy.getPendingSources();
        scheduleSource(source);
      } catch (Exception e) {
        log.error("UnExpected Exception caught while running",e);
      }
    }
  }

  public void stop() {
    this.isStopped = true;
    Thread.currentThread().interrupt();
  }

questionAnswers(5)

yourAnswerToTheQuestion