use of com.tencent.polaris.api.rpc.InstanceDeregisterRequest in project polaris-java by polarismesh.
the class CircuitBreakExample method deregisterInstances.
private static void deregisterInstances(ProviderAPI providerAPI, InitResult initResult) {
for (int i = 0; i < initResult.getInstanceCount(); i++) {
InstanceDeregisterRequest instanceDeregisterRequest = new InstanceDeregisterRequest();
instanceDeregisterRequest.setNamespace(initResult.getNamespace());
instanceDeregisterRequest.setService(initResult.getService());
instanceDeregisterRequest.setHost("127.0.0.1");
instanceDeregisterRequest.setPort(13000 + i);
instanceDeregisterRequest.setToken(initResult.getToken());
providerAPI.deRegister(instanceDeregisterRequest);
}
}
use of com.tencent.polaris.api.rpc.InstanceDeregisterRequest in project polaris-java by polarismesh.
the class ProviderTest method testRoundTrip.
@Test
public void testRoundTrip() {
Configuration configuration = TestUtils.configWithEnvAddress();
try (ProviderAPI providerAPI = DiscoveryAPIFactory.createProviderAPIByConfig(configuration)) {
for (int i = 0; i < 5; i++) {
namingServer.getNamingService().addService(new ServiceKey(NAMESPACE_TEST, SERVICE_PROVIDER));
// 注册
InstanceRegisterRequest registerRequest = new InstanceRegisterRequest();
registerRequest.setNamespace(NAMESPACE_TEST);
registerRequest.setService(SERVICE_PROVIDER);
registerRequest.setHost(Consts.HOST);
registerRequest.setPort(Consts.PORT);
registerRequest.setProtocol("http");
registerRequest.setToken(Consts.PROVIDER_TOKEN);
registerRequest.setTtl(5);
InstanceRegisterResponse response = providerAPI.register(registerRequest);
Assert.assertTrue(StringUtils.isNotBlank(response.getInstanceId()));
Assert.assertFalse(response.isExists());
// 再注册
response = providerAPI.register(registerRequest);
Assert.assertTrue(StringUtils.isNotBlank(response.getInstanceId()));
Assert.assertTrue(response.isExists());
Utils.sleepUninterrupted(5000);
// 心跳上报
InstanceHeartbeatRequest heartbeatRequest = new InstanceHeartbeatRequest();
heartbeatRequest.setNamespace(NAMESPACE_TEST);
heartbeatRequest.setService(SERVICE_PROVIDER);
heartbeatRequest.setHost(Consts.HOST);
heartbeatRequest.setPort(Consts.PORT);
heartbeatRequest.setToken(Consts.PROVIDER_TOKEN);
providerAPI.heartbeat(heartbeatRequest);
// 反注册
InstanceDeregisterRequest deregisterRequest = new InstanceDeregisterRequest();
deregisterRequest.setNamespace(NAMESPACE_TEST);
deregisterRequest.setService(SERVICE_PROVIDER);
deregisterRequest.setHost(Consts.HOST);
deregisterRequest.setPort(Consts.PORT);
deregisterRequest.setToken(Consts.PROVIDER_TOKEN);
providerAPI.deRegister(deregisterRequest);
}
}
}
use of com.tencent.polaris.api.rpc.InstanceDeregisterRequest in project polaris-java by polarismesh.
the class DeregisterExample method main.
public static void main(String[] args) throws Exception {
InitResult initResult = ExampleUtils.initProviderConfiguration(args);
String namespace = initResult.getNamespace();
String service = initResult.getService();
String host = initResult.getHost();
int port = initResult.getPort();
String token = initResult.getToken();
try (ProviderAPI providerAPI = ExampleUtils.createProviderAPI(initResult.getConfig())) {
InstanceDeregisterRequest instanceDeregisterRequest = new InstanceDeregisterRequest();
instanceDeregisterRequest.setNamespace(namespace);
instanceDeregisterRequest.setService(service);
instanceDeregisterRequest.setHost(host);
instanceDeregisterRequest.setPort(port);
instanceDeregisterRequest.setToken(token);
providerAPI.deRegister(instanceDeregisterRequest);
System.out.println("deregister for service successfully: " + service);
}
}
use of com.tencent.polaris.api.rpc.InstanceDeregisterRequest in project spring-cloud-tencent by Tencent.
the class PolarisServiceRegistry method deregister.
@Override
public void deregister(Registration registration) {
log.info("De-registering from Polaris Server now...");
if (StringUtils.isEmpty(registration.getServiceId())) {
log.warn("No dom to de-register for polaris client...");
return;
}
InstanceDeregisterRequest deRegisterRequest = new InstanceDeregisterRequest();
deRegisterRequest.setToken(polarisDiscoveryProperties.getToken());
deRegisterRequest.setNamespace(polarisDiscoveryProperties.getNamespace());
deRegisterRequest.setService(registration.getServiceId());
deRegisterRequest.setHost(registration.getHost());
deRegisterRequest.setPort(registration.getPort());
try {
ProviderAPI providerClient = polarisDiscoveryHandler.getProviderAPI();
providerClient.deRegister(deRegisterRequest);
} catch (Exception e) {
log.error("ERR_POLARIS_DEREGISTER, de-register failed...{},", registration, e);
} finally {
if (null != heartbeatExecutor) {
heartbeatExecutor.shutdown();
}
}
log.info("De-registration finished.");
}
use of com.tencent.polaris.api.rpc.InstanceDeregisterRequest in project polaris-java by polarismesh.
the class Provider method deregister.
// do the instance deregister
private static void deregister(String namespace, String service, String host, int port, ProviderAPI providerAPI) {
InstanceDeregisterRequest deregisterRequest = new InstanceDeregisterRequest();
deregisterRequest.setNamespace(namespace);
deregisterRequest.setService(service);
deregisterRequest.setHost(host);
deregisterRequest.setPort(port);
providerAPI.deRegister(deregisterRequest);
System.out.printf("deregister instance, address is %s:%d%n", host, port);
}
Aggregations