Search in sources :

Example 1 with RegisterInstanceRequest

use of org.apache.servicecomb.serviceregistry.api.request.RegisterInstanceRequest in project incubator-servicecomb-java-chassis by apache.

the class ServiceRegistryClientImpl method registerMicroserviceInstance.

@Override
public String registerMicroserviceInstance(MicroserviceInstance instance) {
    Holder<RegisterInstanceResponse> holder = new Holder<>();
    IpPort ipPort = ipPortManager.getAvailableAddress();
    try {
        RegisterInstanceRequest request = new RegisterInstanceRequest();
        request.setInstance(instance);
        byte[] body = JsonUtils.writeValueAsBytes(request);
        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug("register microservice: {}", new String(body, Charset.defaultCharset()));
        }
        CountDownLatch countDownLatch = new CountDownLatch(1);
        RestUtils.post(ipPort, String.format(Const.REGISTRY_API.MICROSERVICE_INSTANCE_OPERATION_ALL, instance.getServiceId()), new RequestParam().setBody(body), syncHandler(countDownLatch, RegisterInstanceResponse.class, holder));
        countDownLatch.await();
        if (holder.value != null) {
            return holder.value.getInstanceId();
        }
    } catch (Exception e) {
        LOGGER.error("register microservice instance {} failed", instance.getServiceId(), e);
    }
    return null;
}
Also used : RegisterInstanceRequest(org.apache.servicecomb.serviceregistry.api.request.RegisterInstanceRequest) Holder(javax.xml.ws.Holder) RegisterInstanceResponse(org.apache.servicecomb.serviceregistry.api.response.RegisterInstanceResponse) IpPort(org.apache.servicecomb.foundation.common.net.IpPort) CountDownLatch(java.util.concurrent.CountDownLatch) ClientException(org.apache.servicecomb.serviceregistry.client.ClientException)

Example 2 with RegisterInstanceRequest

use of org.apache.servicecomb.serviceregistry.api.request.RegisterInstanceRequest in project java-chassis by ServiceComb.

the class ServiceRegistryClientImpl method registerMicroserviceInstance.

@Override
public String registerMicroserviceInstance(MicroserviceInstance instance) {
    Holder<RegisterInstanceResponse> holder = new Holder<>();
    IpPort ipPort = ipPortManager.getAvailableAddress();
    try {
        RegisterInstanceRequest request = new RegisterInstanceRequest();
        request.setInstance(instance);
        byte[] body = JsonUtils.writeValueAsBytes(request);
        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug("register microservice: {}", new String(body, Charset.defaultCharset()));
        }
        CountDownLatch countDownLatch = new CountDownLatch(1);
        restClientUtil.post(ipPort, String.format(Const.REGISTRY_API.MICROSERVICE_INSTANCE_OPERATION_ALL, instance.getServiceId()), new RequestParam().setBody(body), syncHandler(countDownLatch, RegisterInstanceResponse.class, holder));
        countDownLatch.await();
        if (holder.value != null) {
            return holder.value.getInstanceId();
        }
    } catch (Exception e) {
        LOGGER.error("register microservice instance {} failed", instance.getServiceId(), e);
    }
    return null;
}
Also used : RegisterInstanceRequest(org.apache.servicecomb.serviceregistry.api.request.RegisterInstanceRequest) RegisterInstanceResponse(org.apache.servicecomb.serviceregistry.api.response.RegisterInstanceResponse) IpPort(org.apache.servicecomb.foundation.common.net.IpPort) CountDownLatch(java.util.concurrent.CountDownLatch) ClientException(org.apache.servicecomb.serviceregistry.client.ClientException) IOException(java.io.IOException) ExecutionException(java.util.concurrent.ExecutionException)

Aggregations

CountDownLatch (java.util.concurrent.CountDownLatch)2 IpPort (org.apache.servicecomb.foundation.common.net.IpPort)2 RegisterInstanceRequest (org.apache.servicecomb.serviceregistry.api.request.RegisterInstanceRequest)2 RegisterInstanceResponse (org.apache.servicecomb.serviceregistry.api.response.RegisterInstanceResponse)2 ClientException (org.apache.servicecomb.serviceregistry.client.ClientException)2 IOException (java.io.IOException)1 ExecutionException (java.util.concurrent.ExecutionException)1 Holder (javax.xml.ws.Holder)1