use of org.apache.servicecomb.serviceregistry.event.RecoveryEvent in project java-chassis by ServiceComb.
the class MicroserviceWatchTask method doRun.
@Override
public void doRun() {
// will always run watch when it is ready
if (!needToWatch()) {
return;
}
srClient.watch(microservice.getServiceId(), (event) -> {
if (event.failed()) {
eventBus.post(new ExceptionEvent(event.cause()));
return;
}
MicroserviceInstanceChangedEvent changedEvent = event.result();
if (isProviderInstancesChanged(changedEvent) && !serviceRegistryConfig.isWatch()) {
return;
}
if (!isProviderInstancesChanged(changedEvent) && !serviceRegistryConfig.isRegistryAutoDiscovery()) {
return;
}
onMicroserviceInstanceChanged(changedEvent);
}, open -> eventBus.post(new RecoveryEvent()), close -> {
});
}
Aggregations