當前位置: 首頁>>代碼示例>>Java>>正文


Java Health類代碼示例

本文整理匯總了Java中org.springframework.boot.actuate.health.Health的典型用法代碼示例。如果您正苦於以下問題:Java Health類的具體用法?Java Health怎麽用?Java Health使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


Health類屬於org.springframework.boot.actuate.health包,在下文中一共展示了Health類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: health

import org.springframework.boot.actuate.health.Health; //導入依賴的package包/類
@Override
public Health health() {
	try {
		URL url =
			new URL("http://greglturnquist.com/learning-spring-boot");
		HttpURLConnection conn =
			(HttpURLConnection) url.openConnection();
		int statusCode = conn.getResponseCode();
		if (statusCode >= 200 && statusCode < 300) {
			return Health.up().build();
		} else {
			return Health.down()
				.withDetail("HTTP Status Code", statusCode)
				.build();
		}
	} catch (IOException e) {
		return Health.down(e).build();
	}
}
 
開發者ID:PacktPublishing,項目名稱:Learning-Spring-Boot-2.0-Second-Edition,代碼行數:20,代碼來源:LearningSpringBootHealthIndicator.java

示例2: health

import org.springframework.boot.actuate.health.Health; //導入依賴的package包/類
@Override
public Health health() {
	String hostname="unknown";
	
	try {
		hostname = InetAddress.getLocalHost().getHostName();
	} catch (UnknownHostException ex) {
		log.warn("Failed to get hostname.",ex);
	}
	
	return Health.up()
			.withDetail("hostname", hostname)
			.withDetail("localTime", LocalDateTime.now())
			.withDetail("date", new Date()) // uses spring.jackson.date-format
			.build();
}
 
開發者ID:bszeti,項目名稱:camel-springboot,代碼行數:17,代碼來源:MyHealthCheck.java

示例3: invoke

import org.springframework.boot.actuate.health.Health; //導入依賴的package包/類
@RequestMapping(method = RequestMethod.GET, produces = {
        ActuatorMediaTypes.APPLICATION_ACTUATOR_V1_JSON_VALUE,
        MediaType.APPLICATION_JSON_VALUE})
@ResponseBody
public Object invoke(HttpServletRequest request) {
    if (!getDelegate().isEnabled()) {
        // Shouldn't happen because the request mapping should not be registered
        return getDisabledResponse();
    }
    Health health = getDelegate().invoke();
    HttpStatus status = this.statusMapping.get(health.getStatus().getCode());
    if (status != null) {
        return new ResponseEntity<>(health, status);
    }
    return health;
}
 
開發者ID:dm-drogeriemarkt,項目名稱:extended-actuator-health-endpoints,代碼行數:17,代碼來源:ExtendedHealthMvcEndpoint.java

示例4: downWithExceptionHandling

import org.springframework.boot.actuate.health.Health; //導入依賴的package包/類
@Test
public void downWithExceptionHandling() throws Exception {

    HealthAggregator healthAggregator = mock(HealthAggregator.class);
    ApplicationAliveIndicator healthIndicator = mock(ApplicationAliveIndicator.class);
    when(healthIndicator.health()).thenThrow(new RuntimeException("fooException"));
    Map<String, ApplicationAliveIndicator> healthIndicators = new LinkedHashMap<>();
    healthIndicators.put("foo", healthIndicator);

    when(applicationContext.getBeansOfType(ApplicationAliveIndicator.class)).thenReturn(healthIndicators);


    extendedHealthEndpoint = new AliveHealthEndpoint("healthIndicatorfoo", healthAggregator);
    extendedHealthEndpoint.setApplicationContext(applicationContext);

    this.extendedHealthMvcEndpoint = new ExtendedHealthMvcEndpoint(this.extendedHealthEndpoint);

    ResponseEntity<Health> result = (ResponseEntity<Health>) this.extendedHealthMvcEndpoint.invoke(null);

    Map<String, Object> expectedHealthDetails = new LinkedHashMap<>();
    expectedHealthDetails.put("error", "java.lang.RuntimeException: fooException");
    assertThat(result.getBody().getDetails(), is(expectedHealthDetails));
    assertThat(result.getStatusCode(), is(HttpStatus.SERVICE_UNAVAILABLE));
    assertThat(result.getBody().getStatus(), is(Status.DOWN));
}
 
開發者ID:dm-drogeriemarkt,項目名稱:extended-actuator-health-endpoints,代碼行數:26,代碼來源:ExtendedHealthMvcEndpointUnitTest.java

示例5: appendProviderDetails

import org.springframework.boot.actuate.health.Health; //導入依賴的package包/類
private void appendProviderDetails(Health.Builder builder, String name, Processor processor) {
    final Health.Builder sub = new Health.Builder(Status.UP);
    if (processor != null) {
        sub
                .withDetail("key", processor.getKey())
                .withDetail("name", processor.getName())
                .withDetail("class", processor.getClass().getName())
                ;
    } else {
        sub.outOfService();
        if (requiredProvidersHealthCheckProperties.isFailOnMissing() &&
                requiredProvidersHealthCheckProperties.getFailIfMissing().getOrDefault(name, true)) {
            builder.down();
        }
    }
    builder.withDetail(name, sub.build());
}
 
開發者ID:redlink-gmbh,項目名稱:smarti,代碼行數:18,代碼來源:RequiredProvidersHealthCheck.java

示例6: doHealthCheck

import org.springframework.boot.actuate.health.Health; //導入依賴的package包/類
@Override
protected void doHealthCheck(Health.Builder builder) throws Exception {
    log.debug("Initializing JavaMail health indicator");
    try {
        javaMailSender.getSession().getTransport().connect(javaMailSender.getHost(),
                javaMailSender.getPort(),
                javaMailSender.getUsername(),
                javaMailSender.getPassword());

        builder.up();

    } catch (MessagingException e) {
        log.debug("Cannot connect to e-mail server. Error: {}", e.getMessage());
        builder.down(e);
    }
}
 
開發者ID:VHAINNOVATIONS,項目名稱:BCDS,代碼行數:17,代碼來源:JavaMailHealthIndicator.java

示例7: doHealthCheck

import org.springframework.boot.actuate.health.Health; //導入依賴的package包/類
@Override
protected void doHealthCheck(Health.Builder builder) throws Exception {
    try {
        GetServerInfoResponse serverInfo = client.getServerInfo();
        List<App> apps = client.getApps().getApps();
        builder.up()
                .withDetail("services", apps)
                .withDetail("name", serverInfo.getName())
                .withDetail("leader", serverInfo.getLeader())
                .withDetail("http_port", serverInfo.getHttp_config().getHttp_port())
                .withDetail("https_port", serverInfo.getHttp_config().getHttps_port())
                .withDetail("hostname", serverInfo.getMarathon_config().getHostname())
                .withDetail("local_port_min", serverInfo.getMarathon_config().getLocal_port_min())
                .withDetail("local_port_max", serverInfo.getMarathon_config().getLocal_port_max());
    }
    catch (Exception e) {
        builder.down(e);
    }
}
 
開發者ID:aatarasoff,項目名稱:spring-cloud-marathon,代碼行數:20,代碼來源:MarathonHealthIndicator.java

示例8: doHealthCheck

import org.springframework.boot.actuate.health.Health; //導入依賴的package包/類
@Override
protected void doHealthCheck(Health.Builder builder) throws Exception {
    if (camelContext == null) {
        builder.unknown();
    } else {
        builder.withDetail("version", camelContext.getVersion());
        builder.withDetail("contextStatus", camelContext.getStatus().name());
        if (camelContext.getStatus().isStarted()) {
            builder.up();
        } else if (camelContext.getStatus().isStopped()) {
            builder.down();
        } else {
            builder.unknown();
        }
    }
}
 
開發者ID:HydAu,項目名稱:Camel,代碼行數:17,代碼來源:CamelHealthIndicator.java

示例9: doHealthCheck

import org.springframework.boot.actuate.health.Health; //導入依賴的package包/類
@Override
protected void doHealthCheck(Health.Builder builder) throws Exception {
  boolean isDown = false;
  for (HealthTrackable provider : providers) {
    builder.withDetail(provider.getClass().getSimpleName(), provider.getHealthTracker().getHealthView());
    isDown = isDown || !provider.getHealthTracker().isProviderHealthy();
  }

  if (isDown) {
    if (previousHealthCheckIsUp.getAndSet(false)) {
      log.warn("Server is now UNHEALTHY");
    }
    builder.down();
  } else {
    if (!previousHealthCheckIsUp.getAndSet(true)) {
      log.info("Server is now HEALTHY. Hooray!");
    }
    builder.up();
  }
}
 
開發者ID:spinnaker,項目名稱:fiat,代碼行數:21,代碼來源:ResourceProvidersHealthIndicator.java

示例10: testDoHealthCheckSingleQueueCheckMetricException

import org.springframework.boot.actuate.health.Health; //導入依賴的package包/類
@Test
public void testDoHealthCheckSingleQueueCheckMetricException() throws Exception
{
    Queue queue = generateQueue("test");
    healthIndicator.addQueueCheck(queue, 10000, 2);

    propertiesManager.request(queue);
    PowerMock.expectLastCall().andThrow(new RuntimeException());

    PowerMock.replayAll();
    Builder builder = new Builder(Status.OUT_OF_SERVICE);
    healthIndicator.doHealthCheck(builder);
    PowerMock.verifyAll();

    Health health = builder.build();
    Assert.assertEquals(Status.DOWN, health.getStatus());
    Assert.assertNull(health.getDetails().get("test"));
}
 
開發者ID:julian-eggers,項目名稱:spring-rabbitmq-actuator,代碼行數:19,代碼來源:RabbitQueueCheckHealthIndicatorTest.java

示例11: newValueIsReturnedOnceTtlExpires

import org.springframework.boot.actuate.health.Health; //導入依賴的package包/類
@Test
public void newValueIsReturnedOnceTtlExpires() throws InterruptedException {
	given(this.endpoint.getTimeToLive()).willReturn(50L);
	given(this.endpoint.isSensitive()).willReturn(false);
	given(this.endpoint.invoke())
			.willReturn(new Health.Builder().up().withDetail("foo", "bar").build());
	Object result = this.mvc.invoke(null);
	assertThat(result instanceof Health).isTrue();
	assertThat(((Health) result).getStatus() == Status.UP).isTrue();
	Thread.sleep(100);
	given(this.endpoint.invoke()).willReturn(new Health.Builder().down().build());
	result = this.mvc.invoke(null);
	@SuppressWarnings("unchecked")
	Health health = ((ResponseEntity<Health>) result).getBody();
	assertThat(health.getStatus() == Status.DOWN).isTrue();
}
 
開發者ID:vikrammane23,項目名稱:https-github.com-g0t4-jenkins2-course-spring-boot,代碼行數:17,代碼來源:HealthMvcEndpointTests.java

示例12: doHealthCheck

import org.springframework.boot.actuate.health.Health; //導入依賴的package包/類
@Override
protected void doHealthCheck(Health.Builder builder) throws Exception {
    try {
        Pod current = utils.currentPod().get();
        if (current != null) {
            builder.up()
                    .withDetail("inside", true)
                    .withDetail("namespace", current.getMetadata().getNamespace())
                    .withDetail("podName", current.getMetadata().getName())
                    .withDetail("podIp", current.getStatus().getPodIP())
                    .withDetail("serviceAccount", current.getSpec().getServiceAccountName())
                    .withDetail("nodeName", current.getSpec().getNodeName())
                    .withDetail("hostIp", current.getStatus().getHostIP());
        } else {
            builder.up()
                    .withDetail("inside", false);
        }
    } catch (Exception e) {
        builder.down(e);
    }
}
 
開發者ID:fabric8io,項目名稱:spring-cloud-kubernetes,代碼行數:22,代碼來源:KubernetesHealthIndicator.java

示例13: health

import org.springframework.boot.actuate.health.Health; //導入依賴的package包/類
@Override
public Health health() {

	try {

		VaultHealth vaultHealthResponse = vaultOperations.opsForSys().health();

		Builder healthBuilder = getHealthBuilder(vaultHealthResponse);

		if (StringUtils.hasText(vaultHealthResponse.getVersion())) {
			healthBuilder = healthBuilder.withDetail("version",
					vaultHealthResponse.getVersion());
		}

		return healthBuilder.build();
	}
	catch (Exception e) {
		return Health.down(e).build();
	}
}
 
開發者ID:spring-cloud,項目名稱:spring-cloud-vault,代碼行數:21,代碼來源:VaultHealthIndicator.java

示例14: getHealthBuilder

import org.springframework.boot.actuate.health.Health; //導入依賴的package包/類
private Builder getHealthBuilder(VaultHealth vaultHealthResponse) {

		if (!vaultHealthResponse.isInitialized()) {
			return Health.down().withDetail("state", "Vault uninitialized");
		}

		if (vaultHealthResponse.isSealed()) {
			return Health.down().withDetail("state", "Vault sealed");
		}

		if (vaultHealthResponse.isStandby()) {
			return Health.up().withDetail("state", "Vault in standby");
		}

		return Health.up();
	}
 
開發者ID:spring-cloud,項目名稱:spring-cloud-vault,代碼行數:17,代碼來源:VaultHealthIndicator.java

示例15: taskHealthIndicator

import org.springframework.boot.actuate.health.Health; //導入依賴的package包/類
@Bean
public HealthIndicator taskHealthIndicator() {
    return new AbstractHealthIndicator() {
        @Override
        protected void doHealthCheck(Health.Builder builder) throws Exception {
            if (correctNumberOfInstances()) {
                builder.up();
            } else {
                builder.down();
            }
            builder.withDetail("mesos.resources.count", instanceCount.getCount());
            builder.withDetail("instances", stateRepository.allTaskInfos().size());

            for (Protos.TaskState taskState : Protos.TaskState.values()) {
                Map<String, Protos.TaskStatus> state = getTasksForState(taskState);
                builder.withDetail(taskState.name(), state.size());
            }
        }
    };
}
 
開發者ID:ContainerSolutions,項目名稱:mesosframework,代碼行數:21,代碼來源:TaskActuatorConfiguration.java


注:本文中的org.springframework.boot.actuate.health.Health類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。