控制台应用程序中的Spring Boot执行器

时间:2019-01-18 19:33:26

标签: java spring spring-boot-actuator

我有一个使用Spring的控制台应用程序。我的应用程序正在数据库和JMS服务器上连接。 我想在应用程序启动时知道它是否与数据库和JMS良好连接。 我知道spring-boot-actuator可以高效且轻松地执行此操作,但它会暴露其余端点。我想知道是否有可能让Spring作动器的bean来获取状态信息,数据库和JMS状态。

有可能吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

根据the documentation,端点可以通过HTTP或JMX公开。默认情况下,Spring会通过JMX公开执行器端点,除非您配置为不这样做。

默认情况下,JMX和HTTP中启用了a table showing which endpoints。如果要在HTTP上启用它们,则在公开它们之前应注意一些安全设置(请参阅上面的docs链接)。

为了通过HTTP公开执行器端点,您需要在构建中包括spring-starter-web开始。

等级:

compile('org.springframework.boot:spring-boot-starter-web')

行家:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

同样,在执行此操作之前,请检查安全设置。较新的引导版本应为您提供一组安全的默认值。

答案 1 :(得分:0)

关于您的第二个问题:是的,当弹簧执行器在类路径上找到时,它们会提供自动配置的运行状况指示器,有关更多详细信息,请参见this list(提供数据源和JMS)。

但是您也可以通过仅实现HealthIndicator并将其添加为@Component来轻松实现自己的状态信息,可以在here中找到更多详细信息。

您可以使用REST或JMX公开它们,可以通过application.properties配置公开,详细信息可以在the docs中找到。