| | |
| | | import de.codecentric.boot.admin.server.domain.events.InstanceStatusChangedEvent; |
| | | import de.codecentric.boot.admin.server.notify.AbstractEventNotifier; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.dromara.common.core.utils.SpringUtils; |
| | | import org.dromara.monitor.admin.event.NotifierEvent; |
| | | import org.springframework.stereotype.Component; |
| | | import reactor.core.publisher.Mono; |
| | | |
| | |
| | | String status = ((InstanceStatusChangedEvent) event).getStatusInfo().getStatus(); |
| | | // è·åæå¡URL |
| | | String serviceUrl = instance.getRegistration().getServiceUrl(); |
| | | String statusName = null; |
| | | |
| | | // æ ¹æ®å®ä¾ç¶ææ§è¡ç¸åºçæä½ |
| | | switch (status) { |
| | | // æå¡ä¸çº¿ï¼å®ä¾æåå¯å¨å¹¶å¯ä»¥æ£å¸¸å¤ç请æ±ï¼ |
| | | case STATUS_UP: |
| | | statusName = "æå¡ä¸çº¿"; |
| | | break; |
| | | |
| | | // æå¡ç¦»çº¿ï¼å®ä¾è¢«æå¨æèªå¨å°ä»æå¡ä¸ç§»é¤ï¼ |
| | | case STATUS_OFFLINE: |
| | | statusName = "æå¡ç¦»çº¿"; |
| | | break; |
| | | |
| | | // æå¡åéï¼è¡¨ç¤ºå®ä¾å¨æäºæ¹é¢åéï¼å¯è½æ æ³å®å
¨æä¾æææå¡ï¼ |
| | | case STATUS_RESTRICTED: |
| | | statusName = "æå¡åé"; |
| | | break; |
| | | |
| | | // 忢æå¡ç¶æï¼è¡¨ç¤ºå®ä¾å·²è¢«æ è®°ä¸ºåæ¢æä¾æå¡ï¼å¯è½æ¯è®¡åå
ç»´æ¤ææµè¯ï¼ |
| | | case STATUS_OUT_OF_SERVICE: |
| | | statusName = "忢æå¡ç¶æ"; |
| | | break; |
| | | |
| | | // æå¡ä¸çº¿ï¼å®ä¾å å´©æºãé误æå
¶ä»åå 忢è¿è¡ï¼ |
| | | case STATUS_DOWN: |
| | | statusName = "æå¡ä¸çº¿"; |
| | | break; |
| | | |
| | | // æå¡æªç¥å¼å¸¸ï¼çæ§ç³»ç»æ æ³ç¡®å®å®ä¾çå½åç¶æï¼ |
| | | case STATUS_UNKNOWN: |
| | | statusName = "æå¡æªç¥å¼å¸¸"; |
| | | break; |
| | | |
| | | // é»è®¤æ
åµï¼æ²¡æå¹é
çç¶æï¼ |
| | | default: |
| | | break; |
| | | } |
| | | String statusName = switch (status) { |
| | | case STATUS_UP -> "æå¡ä¸çº¿"; // å®ä¾æåå¯å¨å¹¶å¯ä»¥æ£å¸¸å¤çè¯·æ± |
| | | case STATUS_OFFLINE -> "æå¡ç¦»çº¿"; //å®ä¾è¢«æå¨æèªå¨å°ä»æå¡ä¸ç§»é¤ |
| | | case STATUS_RESTRICTED -> "æå¡åé"; //表示å®ä¾å¨æäºæ¹é¢åéï¼å¯è½æ æ³å®å
¨æä¾æææå¡ |
| | | case STATUS_OUT_OF_SERVICE -> "忢æå¡ç¶æ"; //表示å®ä¾å·²è¢«æ è®°ä¸ºåæ¢æä¾æå¡ï¼å¯è½æ¯è®¡åå
ç»´æ¤ææµè¯ |
| | | case STATUS_DOWN -> "æå¡ä¸çº¿"; //å®ä¾å å´©æºãé误æå
¶ä»åå 忢è¿è¡ |
| | | case STATUS_UNKNOWN -> "æå¡æªç¥å¼å¸¸"; //çæ§ç³»ç»æ æ³ç¡®å®å®ä¾çå½åç¶æ |
| | | default -> "æªç¥ç¶æ"; //没æå¹é
çç¶æ |
| | | }; |
| | | log.info("Instance Status Change: ç¶æåç§°ã{}ã, 注ååç§°ã{}ã, å®ä¾IDã{}ã, ç¶æã{}ã, æå¡URLã{}ã", |
| | | statusName, registName, instanceId, status, serviceUrl); |
| | | NotifierEvent notifier = new NotifierEvent(); |
| | | notifier.setRegistName(registName); |
| | | notifier.setStatusName(statusName); |
| | | notifier.setInstanceId(instanceId); |
| | | notifier.setStatus(status); |
| | | notifier.setServiceUrl(serviceUrl); |
| | | SpringUtils.context().publishEvent(notifier); |
| | | } |
| | | }); |
| | | } |