Netflix/ribbon

DiscoveryClient failed to fire events to EurekaNotificationServerListUpdater after cache refreshed

WilliamChen-luckbob opened this issue · 0 comments

I have my application running in a hot refresh mode which means to make my application refresh it's configuration as soon as I change the config files, and this movement will trigger a RefreshEvent by ApplicationContext.

While using EurekaNotificationServerListUpdater as ServerListUpdater DiscoveryClient will lose all eurekaListeners registered by EurekaNotificationServerListUpdater after spring receiving a RefreshEvent.

After firing RefreshEvent, EurekaNotificationServerListUpdater for each service in each ribbon client will not change, which means, new DiscoveryClient will no longer trigger a CacheRefreshedEvent because none of the EurekaEventListener are in the new DiscoveryClient's listener list.

Is it possible to make a re-registration after RefreshEvent ?