Мы внедрили сервер администрирования Spring Boot для мониторинга нашего приложения. Общая настройка работает, и мы получаем уведомления Slack после изменения статуса. Однако когда мы добавили напоминание для подавления уведомления в течение первых 10 минут, эта реализация не имела никакого эффекта. Для реализации пользовательского уведомителя мы использовали следующий код:
import de.codecentric.boot.admin.server.domain.entities.InstanceRepository;
import de.codecentric.boot.admin.server.notify.Notifier;
import de.codecentric.boot.admin.server.notify.RemindingNotifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import java.time.Duration;
@Configuration
public class NotifierConfiguration {
private Notifier notifier;
private InstanceRepository repository;
public NotifierConfiguration(Notifier notifier, InstanceRepository repository)
{
this.notifier = notifier;
this.repository = repository;
}
@Primary
@Bean(initMethod = "start", destroyMethod = "stop")
public RemindingNotifier remindingNotifier() {
RemindingNotifier remindingNotifier = new RemindingNotifier(notifier, repository);
remindingNotifier.setReminderPeriod(Duration.ofMinutes(10));
remindingNotifier.setCheckReminderInverval(Duration.ofSeconds(60));
return remindingNotifier;
}
}