Я пишу rest-сервис и использую Spring Boot. Сервис в основном потоке получает запросы по REST, а в дополнительном проводит очистку файлов в нужное время на компьютере. В этом сервисе реализовал дополнительный поток Tread, который чистит директорию на компьютере. Реализовано это так:
код запуска потока и самого потока DirCleaner.java
Runnable task = () -> {
try {
while (true) {
тут код работы очистки и условия проверки
Thread.sleep(60000);
}
}
Thread.sleep(1000);
}
} catch (InterruptedException threadEx) {EventLogWriter.logEvent(EventStatus.ERROR, threadEx.getMessage()); }
catch (Exception ex) {
EventLogWriter.logEvent(EventStatus.ERROR, ex.getMessage());
}
};
Thread delThread = new Thread(task, "Поток удалающий файлы");
delThread.
Проблема в том, что на сервере Tomcat 8.5.11 этот поток не запускается, запускается только основной поток в котором работает @Controller, хотя локально при отладки или запуске в Intellij IDEA все работает нормально, и приложение работает в 2 потока.
Код Main.class
@SpringBootApplication
@EnableWebMvc
@EnableAutoConfiguration
@ComponentScan(value = "com.del.api")
public class SpringApplicationsDel extends SpringBootServletInitializer
implements WebApplicationInitializer {
public static void main(String []args){
ApplicationContext startContext = SpringApplication.run(SpringApplicationsDel.class,args);
DirCleaner dirCleaner = (DirCleaner) startContext.getBean("DirCleaner");
EventLogWriter.logEvent(EventStatus.WARN, "Приложение запущено");
dirCleaner.startRun();
}
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
EventLogWriter.logEvent(EventStatus.WARN, "Приложение запускается");
return builder.sources(SpringApplicationsDel.class);
}
}
В чем может быть проблема?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Всем привет! Метод sumDigitsInNumber должен возвращать сумму цифр полученного числа (546), но вместо этого возвращает сумму кодов чисел из таблицы...
У меня есть examplexhtml, я не знаю как правильно его заполнить, так как NetBeans предлагает один вариант, а видео, где все работает, заполняют по-другому