у моего проекта есть такая:
@SpringBootApplication
//@EnableCaching
public class TestLoaderApplication extends SpringBootServletInitializer {
public static String pathJars=System.getenv("TEST_JAR_PATH");
static public JarClassMethod testClassObjMap = new JarClassMethod();
static public boolean changed = true;
private static final Logger LOGGER = LoggerFactory.getLogger(TestLoaderApplication.class);
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(TestLoaderApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(TestLoaderApplication.class, args);
TestLoaderApplication.runWatcher();
}
private static void runWatcher(){
LOGGER.info("Test Loader Console Back-End:\tSTART RUN WATCHER");
System.out.println("Test Loader Console Back-End:\tSTART RUN WATCHER");
DirectoryWatcher watcher = new DirectoryWatcher.Builder()
.addDirectories(pathJars)
.setFilter(o -> {
if (o.toString().endsWith(".jar")){
return true;
}
else{
return false;
}
})
.setPreExistingAsCreated(false)
.build((event, path) -> {
System.out.println("EVENTO:\t" + event);
switch (event) {
case ENTRY_CREATE:
LOGGER.info("Test Loader Console Back-End:\tCreate Event, "+path);
TimeUnit.SECONDS.sleep(2);
changed=true;
break;
case ENTRY_MODIFY:
LOGGER.info("Test Loader Console Back-End:\tModifiy Event, "+path);
TimeUnit.SECONDS.sleep(2);
changed=true;
break;
case ENTRY_DELETE:
LOGGER.info("Test Loader Console Back-End:\tDelete Event, "+path);
TimeUnit.SECONDS.sleep(2);
changed=true;
break;
}
});
try {
watcher.start(); // Actual watching starts here
} catch (Exception e) {
}
}
}
Это мой пом. xml:
пом. xml
В локальном режиме (на моем компьютере p c с windows) он работает правильно, и после SprinbootRun я просматриваю информацию журнала: «Тестовый конец консоли загрузчика: START RUN WATCHER» Но когда я разверну .war на Unix Сервер на функции Tomcat runWatcher не запускается, и я не вижу функцию входа в систему. Почему? Некоторые советы? Спасибо