fix(notifications): WARN when dispatcher init с zero channels

This commit is contained in:
Александр Зимин
2026-05-15 07:01:40 +00:00
parent ca341b1d79
commit 844cab78ae
@@ -122,9 +122,24 @@ public class NotificationsDispatcher {
@PostConstruct
void init() {
log.info("NotificationsDispatcher initialized. Channels: {}, reviewerPoolEmail configured: {}",
channels.stream().map(c -> c.kind().wireName()).toList(),
var channelNames = channels.stream().map(c -> c.kind().wireName()).toList();
if (channels.isEmpty()) {
// Empty channels = ни один NotificationChannel bean не подключён
// (typically EmailChannel требует spring.mail.host через
// @ConditionalOnBean(JavaMailSender.class)). Dispatcher продолжает
// poll'ить outbox events но silently discards — ничего не отправляется.
// WARN чтобы это visible в monitoring/grep, не терялось среди INFO.
log.warn("NotificationsDispatcher initialized с ZERO channels — events"
+ " будут собираться из outbox но НИЧЕГО не будет dispatch'нуто."
+ " Чтобы actual delivery работала: set spring.mail.host (для"
+ " EmailChannel) или register другой NotificationChannel bean."
+ " ReviewerPoolEmail configured: {}",
!reviewerPoolEmail.isBlank());
} else {
log.info("NotificationsDispatcher initialized. Channels: {}, reviewerPoolEmail configured: {}",
channelNames,
!reviewerPoolEmail.isBlank());
}
}
/**