Как остановить поданную работоспособную задачу?задача - искровой потоковый код - PullRequest
0 голосов
/ 24 октября 2018

Мне нужно написать тест, который должен выполнить запрос на зажигание в локальном режиме в отдельном потоке и утверждать результаты входов и выходов этих заданий.

Runnable runnableTask = () -> {
    sparkStreamingJob.start();
};

Future<?> future = 
  executorService.submit(runnableTask );

После того, как этот тест закончен, я должен начать другой тест с различными конфигурациями для той же самой работы потоковой передачи искры.Для этого я должен остановить начатый выше поток и начать новый.

Проблема в том, что я пытался

executorService.shutdownNow();
future.cancel(true);

Потоковая передача не останавливается.Обратите внимание, что код задания sparkStreaming я не могу изменить и не могу использовать флаг прерывания, поскольку он не является loop .

Как остановить этот конкретный поток?любая идея?И, пожалуйста, обратите внимание, что я рассмотрел большинство связанных вопросов выше, но все еще не смог найти решение.Поэтому, если вы отметите этот дубликат, я буду признателен, если вы хотя бы дадите уточнение.

...