У меня есть исполнитель, который выполняет задачу каждые 5 секунд
public class ScheduledTaskExecutor {
public int execute(){
ScheduledExecutorService executor = Executors.newScheduledThreadPool(4);
executor.scheduleAtFixedRate(new Task().run,3,5, TimeUnit.SECONDS);
return -1;
}
}
Вот задача.Я выбрасываю IllegalArgumentException
, если X == 4
public class Task {
private static final Logger LOG = LoggerFactory.getLogger(DcEmailTask.class);
private int x = 0;
public Runnable run = () -> {
String currentThread = Thread.currentThread().getName();
x++;
System.out.println("Thread [" + currentThread + "] is executing the task: " + x);
if (x == 4) throw new IllegalArgumentException();
};
}
Программа прекращает выполнение, и трассировка стека не печатается.