Сообщения

Сообщения за январь, 2024

@Scheduled; @SchedulerLock

scheduleAtFixedRate : Этот метод планирует выполнение задач с фиксированным временным интервалом между началом одного выполнения и началом следующего. Если задача выполняется дольше, чем указанный период, последующие выполнения будут запускаться немедленно, что может вызвать перекрытие выполнений. Время следующего выполнения рассчитывается на основе времени начала предыдущего выполнения плюс фиксированный интервал, независимо от того, сколько времени фактически заняло выполнение задачи. Пример: java Copy code ScheduledExecutorService scheduler = Executors.newScheduledThreadPool( 1 ); scheduler.scheduleAtFixedRate(() -> { // Логика вашей задачи }, начальная_задержка, период, TimeUnit.SECONDS); scheduleWithFixedDelay : Этот метод планирует выполнение задач с фиксированной задержкой времени между завершением одного выполнения и началом следующего. Если задача выполняется дольше, чем указанная задержка, следующее выполнение будет отложено до завершения предыдущего. Время следующ

Functional Programming

Optional. ofNullable (supplementaryOfferings) .ifPresentOrElse((supplementaryOfferingsList) -> { Optional<SupplementaryOfferingDto> collect = supplementaryOfferingsList.stream() .filter(s -> s.getOfferingName() .contains( primaryOffering .getOfferingName().toUpperCase())) .findFirst() ; if (collect.isPresent() && ACTIVE .equals(collect.get().getStatus())) { setActivationStatus( entity , ACTIVE .getName()) ; } } , () -> { if ( ACTIVE .name().equals( primaryOffering .getStatus())) { setActivationStatus( entity , ACTIVE .getName()) ; } }) ; Here's the breakdown: Optional.ofNullable(supplementaryOfferings) : Creates an Optional object with the value of supplementaryOfferings . If supplementaryOfferings is null , an empty Optional is created. .ifPresentOrElse((supplementaryOfferin