У меня есть WatchService
, что бросает ClosedWatchServiceException
на следующий код:Как остановить WatchService при завершении работы приложения?
final WatchService watchService = FileSystems.getDefault().newWatchService();
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
try {
watchService.close();
} catch (IOException e) {
e.printStackTrace();
}
}
});
WatchKey key = null;
while (true) {
key = watchService.take(); //throws ClosedWatchServiceException
//execution
}
Как мне выключить службу безопасности, не получив исключение? Или я должен пренебрегать выключением, так как любые нити будут убиты при завершении приложения?