diff --git a/pigx-visual/pigx-monitor/src/main/java/com/pig4cloud/pigx/monitor/support/StatusChangeNotifier.java b/pigx-visual/pigx-monitor/src/main/java/com/pig4cloud/pigx/monitor/support/StatusChangeNotifier.java new file mode 100644 index 000000000..c994817ff --- /dev/null +++ b/pigx-visual/pigx-monitor/src/main/java/com/pig4cloud/pigx/monitor/support/StatusChangeNotifier.java @@ -0,0 +1,37 @@ +package com.pig4cloud.pigx.monitor.support; + +import de.codecentric.boot.admin.server.domain.entities.Instance; +import de.codecentric.boot.admin.server.domain.entities.InstanceRepository; +import de.codecentric.boot.admin.server.domain.events.InstanceEvent; +import de.codecentric.boot.admin.server.domain.events.InstanceStatusChangedEvent; +import de.codecentric.boot.admin.server.notify.AbstractEventNotifier; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import reactor.core.publisher.Mono; + +/** + * @author lengleng + * @date 2019-01-23 + *

+ * 服务状态变化通知 + */ +@Slf4j +@Component +public class StatusChangeNotifier extends AbstractEventNotifier { + protected StatusChangeNotifier(InstanceRepository repository) { + super(repository); + } + + @Override + protected Mono doNotify(InstanceEvent event, Instance instance) { + return Mono.fromRunnable(() -> { + if (event instanceof InstanceStatusChangedEvent) { + log.error("Instance {} ({}) is {}", instance.getRegistration().getName(), event.getInstance(), + ((InstanceStatusChangedEvent) event).getStatusInfo().getStatus()); + } else { + log.error("Instance {} ({}) {}", instance.getRegistration().getName(), event.getInstance(), + event.getType()); + } + }); + } +} \ No newline at end of file diff --git a/pom.xml b/pom.xml index ce4041c35..2e97bbc66 100644 --- a/pom.xml +++ b/pom.xml @@ -43,7 +43,7 @@ 2.1.2.RELEASE - Greenwich.RC2 + Greenwich.RELEASE Cairo-SR6 UTF-8 1.8