package com.ibyte.framework.discovery.listener; import com.netflix.discovery.EurekaEvent; import com.netflix.discovery.EurekaEventListener; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.client.discovery.event.InstanceRegisteredEvent; import org.springframework.cloud.context.scope.refresh.RefreshScopeRefreshedEvent; import org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean; import org.springframework.context.event.EventListener; import org.springframework.stereotype.Component; /** * @Description: <EurekaClientEventListener> * * @author <a href="mailto:[email protected]">iByte</a> * @since 1.0.1 */ @Slf4j @Component public class EurekaClientEventListener implements EurekaEventListener { @EventListener public void listen(InstanceRegisteredEvent<EurekaInstanceConfigBean> event) { log.info("实例[{}]注册事件", event.getConfig().getAppname()); } @EventListener public void listen(RefreshScopeRefreshedEvent event) { log.info("实例[{}]注册事件", event.getName()); } @Override public void onEvent(EurekaEvent event) { // if(event instanceof CacheRefreshedEvent) { // log.info("触发刷新缓存事件[{}]", ((CacheRefreshedEvent) event).getTimestamp()); // }else if(event instanceof StatusChangeEvent) { // log.info("触发状态变更事件,之前状态[{}],当前状态[{}]", ((StatusChangeEvent) event).getPreviousStatus(), ((StatusChangeEvent) event).getStatus()); // }else { // log.info("触发EurekaEvent事件[{}]", event.getClass()); // } } }