2015-12-31 2 views
4

Это не веб-проект, но я все еще добавить spring-boot-starter-actuator в ПОМ, а также указать management.port=8081, то в последний метод пробега CommandLineRunner, есть ниже код,как можно получить доступ к конечным точкам привода в не веб-приложения

System.in.read(); 

при запуске этого проекта будет продолжаться. Тогда я, чтобы получить доступ http://localhost:8081/configprops, но показать сообщение ниже:

This webpage is not available 

Так как же получить доступ к конечным точкам привода в не веб-приложения? Кстати, я хочу это сделать, потому что, когда я начал свой проект, он не смог успешно загрузить данные yml и вызвал NPE. Поэтому я хочу получить доступ к /configprops, чтобы проверить его.

Мои YML, как это:

spring: 
    profiles.active: default 

--- 

spring: 
    profiles: default 

user: 
    foo: 
     aaa: [email protected] 
--- 

spring: 
    profiles: test   

user: 
    foo: 
     aaa: [email protected] 
     bbb: [email protected] 

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

Вы можете использовать привод даже в не-веб-приложениях. У меня есть множество приложений Spring Spring от CommandLineRunner, которые запускают только встроенный Tomcat для обслуживания конечных точек исполнительного механизма – Marged

ответ

2

В не веб-приложения вы можете получить доступ к конечным точкам приводов с JMX. Используйте JConsole или JVisualVM для чтения MBeans. Обратитесь к документации Spring загрузки для получения более подробной информации: http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready-jmx

+0

спасибо! но в проекте, отличном от веб-сайта, вы все равно должны позволить процессу удерживать какой-либо метод, например. 'Thread.sleep()' или 'System.in.read()' – zhuguowei

+0

Кроме того, запросить его с помощью jmx, существует какой-либо другой способ, например 'System.getProperty (« user.foo »)', который может выводить его программным путем – zhuguowei

1

Благодаря @dunni в Jconsole вкладке MBeans можно было увидеть

enter image description here

когда нажмите GetData Я получил список, одна линия сказал мне

userConfig={prefix=user, properties={foo=null}} 
Смежные вопросы