如何在非Web应用程序中访问执行器端点

时间:2015-12-31 13:00:50

标签: spring-boot

这不是一个网络项目,但我仍然在pom中添加spring-boot-starter-actuator,并指定management.port=8081,然后在CommandLineRunner的最后一个运行方法中,有以下代码,

System.in.read();

启动这个项目时,它会坚持下去。然后我将访问http://localhost:8081/configprops,但会显示以下消息:

This webpage is not available

那么如何在非Web应用程序中访问执行器端点? BTW为什么我想这样做,因为在启动我的项目时它无法成功加载yml数据并导致NPE。所以我想访问/configprops进行检查。

我的yml是这样的:

spring:
    profiles.active: default

---

spring:
    profiles: default

user: 
   foo: 
      aaa: aaa@foo.com
---

spring:
   profiles: test        

user: 
   foo: 
       aaa: aaa@foo.com
       bbb: bbb@foo.com

@ConfigurationProperties(prefix="user", locations="user.yml")
public class UserConfig {
    private HashMap<String, String> foo;    
}

2 个答案:

答案 0 :(得分:2)

在非Web应用程序中,您可以使用JMX访问Actuator端点。使用JConsole或JVisualVM读取MBean。有关更多详细信息,请参阅Spring Boot文档:http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready-jmx

答案 1 :(得分:1)

感谢@dunni在jconsole MBeans标签中你可以看到

enter image description here

点击getData我得到一个列表,一行告诉我

userConfig={prefix=user, properties={foo=null}}