<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
management.endpoint.info.enabled=true
#加载所有的端点,默认只加载了info、health
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details= always
#可以关闭指定的端点
management.endpoint.shutdown.enabled=false
创建Endpoint
@Endpoint(id = "env2")
public class MyEndPoint implements ApplicationContextAware {
private ApplicationContext applicationContext;
@ReadOperation
public Map<String, Object> test() {
Map<String, Object> result = new HashMap<>();
result.put("times", applicationContext.getStartupDate());
result.put("env", applicationContext.getEnvironment().getActiveProfiles());
result.put("getBeanDefinitionCount",applicationContext.getBeanDefinitionCount());
result.put("getBeanDefinitionNames",applicationContext.getBeanDefinitionNames());
return result;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
}
加载bean
@Bean
@ConditionalOnMissingBean
@ConditionalOnEnabledEndpoint
public MyEndPoint myEndPoint() {
return new MyEndPoint();
}
访问