use of com.tencent.polaris.api.rpc.InstanceRegisterResponse in project polaris-java by polarismesh.
the class CircuitBreakExample method registerInstances.
private static void registerInstances(ProviderAPI providerAPI, InitResult initResult) {
for (int i = 0; i < initResult.getInstanceCount(); i++) {
InstanceRegisterRequest instanceRegisterRequest = new InstanceRegisterRequest();
instanceRegisterRequest.setNamespace(initResult.getNamespace());
instanceRegisterRequest.setService(initResult.getService());
instanceRegisterRequest.setHost("127.0.0.1");
instanceRegisterRequest.setPort(13000 + i);
instanceRegisterRequest.setToken(initResult.getToken());
InstanceRegisterResponse instanceRegisterResponse = providerAPI.register(instanceRegisterRequest);
System.out.println("response after register is " + instanceRegisterResponse);
}
CircuitBreakExampleUtils.doSleep(5000);
}
use of com.tencent.polaris.api.rpc.InstanceRegisterResponse in project polaris-java by polarismesh.
the class DefaultProviderAPI method register.
@Override
public InstanceRegisterResponse register(InstanceRegisterRequest req) throws PolarisException {
checkAvailable("ProviderAPI");
Validator.validateInstanceRegisterRequest(req);
long retryInterval = sdkContext.getConfig().getGlobal().getAPI().getRetryInterval();
long timeout = getTimeout(req);
while (timeout > 0) {
long start = System.currentTimeMillis();
ServiceCallResult serviceCallResult = new ServiceCallResult();
CommonProviderRequest request = req.getRequest();
try {
CommonProviderResponse response = serverConnector.registerInstance(request);
LOG.info("register {}/{} instance {} succ", req.getNamespace(), req.getService(), response.getInstanceID());
serviceCallResult.setRetStatus(RetStatus.RetSuccess);
serviceCallResult.setRetCode(ErrorCode.Success.getCode());
return new InstanceRegisterResponse(response.getInstanceID(), response.isExists());
} catch (PolarisException e) {
serviceCallResult.setRetStatus(RetStatus.RetFail);
serviceCallResult.setRetCode(exceptionToErrorCode(e).getCode());
if (e instanceof RetriableException) {
LOG.warn("instance register request error, retrying.", e);
Utils.sleepUninterrupted(retryInterval);
continue;
}
throw e;
} finally {
long delay = System.currentTimeMillis() - start;
serviceCallResult.setDelay(delay);
reportServerCall(serviceCallResult, request.getTargetServer(), "register");
timeout -= delay;
}
}
throw new PolarisException(ErrorCode.API_TIMEOUT, "instance register request timeout.");
}
Aggregations