Код: Выделить всё
@Slf4j
@EnableScheduling
@Component
@RequiredArgsConstructor
public class EventConsumer {
private AtomicReference lastLoggedTime = new AtomicReference(LocalDateTime.now());;
public LocalDateTime getLastLoggedTime() {
return lastLoggedTime.get();
}
public void setLastLoggedTime(LocalDateTime lastLoggedTime) {
if(lastLoggedTime.isAfter(this.lastLoggedTime.get())) {
this.lastLoggedTime.set(lastLoggedTime);
}
else{
log.info("Time trying to update is in past EventConsumer");
}
}
@Scheduled(initialDelay = 5, fixedDelayString = "30000")
public void pollAxonMessages() {
LocalDateTime currentTime = LocalDateTime.now();
if (isLogginEnabled(getLastLoggedTime(),60,currentTime,"Event Consumer")) {
log.info("Started polling ");
setLastLoggedTime(currentTime);
}
}
public boolean isLogginEnabled(LocalDateTime lastLoggedInTime,
Integer loggingInterval,
LocalDateTime currentDateTime,
String consumerName){
log.info("LocalDateTime : {} , loggingInterval : {} , currentDateTime :{} consumerName: {}", lastLoggedInTime, loggingInterval, currentDateTime, consumerName);
return lastLoggedInTime.plusSeconds(loggingInterval).isBefore(currentDateTime);
}
}
YAML file configuration for spring scheduler.
spring:
task:
scheduling:
pool:
size: 8
Можете ли вы сообщить мне, что я пропустил в приведенном выше коде, что привело к этой проблеме?
Подробнее здесь: https://stackoverflow.com/questions/790 ... er-logging