我有一个spring boot应用程序,我用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);
}
奇怪的是,日志checkRouterStatusAsync
上没有任何内容。
那只发生在我的生产服务器上,它在本地有效。在两侧(本地和生产环境),我都安装了Java 8。
我使用命令java -jar {myPackage}.war
运行我的应用程序。
有人可以帮助我吗?