use of org.apache.servicecomb.serviceregistry.task.event.RecoveryEvent in project incubator-servicecomb-java-chassis by apache.
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