Проблемы при запуске методов CompletableFuture с Java 8 - PullRequest
0 голосов
/ 10 мая 2019

У меня есть приложение весенней загрузки, я сгенерировал приложение с помощью jhispter, у меня есть служба Spring, которая имеет запланированный метод, как показано ниже:

@Scheduled(cron = "0 0/2 * * * *")
private void checkStatusRouters() {

    if(!IS_JOB_RUNNING){
        IS_JOB_RUNNING =true;
        log.info("[JOB-MONITOR] - Initializing scan", Instant.now());
        List<MicroTikRouter> routers = routerService.findAllEntities();
        log.info("Roteadores encontrados: {}",routers.size());
        for (MicroTikRouter router : routers) {
            try {
                log.info("Iniciando roteador : {}", router.getDescription());
                CompletableFuture<Boolean> check =  routerService.checkRouterStatusAsync(router);
                check.exceptionally(exception -> {
                    //HandleException
                });
            }
            catch(Exception ex){
                //Handle
            }
        }
}   }

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

@Async
public CompletableFuture<Boolean> checkRouterStatusAsync(MicroTikRouter router) throws  ApiConnectionException,ApiCommandException,Exception {

    //neither this log is appearing
    log.info("Request print router {} : with ip/dns  {} ",router.getCode(),router.getIp());

    //make many things  

    return CompletableFuture.completedFuture(true);
}   

Странно то, что в журнале ничего не отображается в методе 1008.

Это происходит только на моем производственном сервере, локально это работает. С обеих сторон (локально и в производстве) у меня установлена ​​Java 8.

Я запускаю свое приложение с помощью команды java -jar {myPackage}.war.

Кто-нибудь может мне помочь?

...