- // DiscoveryClient.java
- void unregister() {
- // It can be null if shouldRegisterWithEureka == false
- if (eurekaTransport != null && eurekaTransport.registrationClient != null) {
- try {
- logger.info("Unregistering ...");
- EurekaHttpResponse < Void > httpResponse = eurekaTransport.registrationClient.cancel(instanceInfo.getAppName(), instanceInfo.getId());
- logger.info(PREFIX + appPathIdentifier + " - deregister status: " + httpResponse.getStatusCode());
- } catch(Exception e) {
- logger.error(PREFIX + appPathIdentifier + " - de-registration failed" + e.getMessage(), e);
- }
- }
- }
- // AbstractJerseyEurekaHttpClient.java
- @Override public EurekaHttpResponse < Void > cancel(String appName, String id) {
- String urlPath = "apps/" + appName + '/' + id;
- ClientResponse response = null;
- try {
- Builder resourceBuilder = jerseyClient.resource(serviceUrl).path(urlPath).getRequestBuilder();
- addExtraHeaders(resourceBuilder);
- response = resourceBuilder.delete(ClientResponse.class);
- return anEurekaHttpResponse(response.getStatus()).headers(headersOf(response)).build();
- } finally {
- if (logger.isDebugEnabled()) {
- logger.debug("Jersey HTTP DELETE {}/{}; statusCode={}", serviceUrl, urlPath, response == null ? "N/A": response.getStatus());
- }
- if (response != null) {
- response.close();
- }
- }
- }
来源: http://t.cn/RjyGqER