Search in sources :

Example 1 with HeartbeatSuccEvent

use of org.apache.servicecomb.serviceregistry.task.event.HeartbeatSuccEvent in project incubator-servicecomb-java-chassis by apache.

the class MicroserviceInstanceHeartbeatTask method heartbeat.

private HeartbeatResult heartbeat() {
    HeartbeatResponse response = srClient.heartbeat(microserviceInstance.getServiceId(), microserviceInstance.getInstanceId());
    if (response == null) {
        LOGGER.error("Disconnected from service center and heartbeat failed for microservice instance={}/{}", microserviceInstance.getServiceId(), microserviceInstance.getInstanceId());
        EventManager.post(new HeartbeatFailEvent());
        return HeartbeatResult.DISCONNECTED;
    }
    if (!response.isOk()) {
        LOGGER.error("Update heartbeat to service center failed, microservice instance={}/{} does not exist", microserviceInstance.getServiceId(), microserviceInstance.getInstanceId());
        EventManager.post(new HeartbeatFailEvent());
        return HeartbeatResult.INSTANCE_NOT_REGISTERED;
    }
    EventManager.post(new HeartbeatSuccEvent());
    return HeartbeatResult.SUCCESS;
}
Also used : HeartbeatResponse(org.apache.servicecomb.serviceregistry.api.response.HeartbeatResponse) HeartbeatSuccEvent(org.apache.servicecomb.serviceregistry.task.event.HeartbeatSuccEvent) HeartbeatFailEvent(org.apache.servicecomb.serviceregistry.task.event.HeartbeatFailEvent)

Aggregations

HeartbeatResponse (org.apache.servicecomb.serviceregistry.api.response.HeartbeatResponse)1 HeartbeatFailEvent (org.apache.servicecomb.serviceregistry.task.event.HeartbeatFailEvent)1 HeartbeatSuccEvent (org.apache.servicecomb.serviceregistry.task.event.HeartbeatSuccEvent)1