如何将spring MVC应用程序注册到spring boot admin

时间:2016-09-15 05:58:27

标签: java spring-mvc spring-boot spring-boot-actuator spring-boot-admin

我有春季MVC网络应用程序。我在下面添加了依赖项,使用了弹簧启动器。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-actuator</artifactId>
    <version>1.4.0.RELEASE</version>
</dependency>

在我的配置文件中,我导入了以下类。

@Configuration
@ComponentScan({"com.test.*"})
@Import({EndpointWebMvcAutoConfiguration.class,
ManagementServerPropertiesAutoConfiguration.class, EndpointAutoConfiguration.class,
HealthIndicatorAutoConfiguration.class,PublicMetricsAutoConfiguration.class})
@EnableWebMvc
@PropertySource("classpath:appconfig.properties")
public class SpringWebConfig extends WebMvcConfigurerAdapter {
}

现在当我点击网址“http://localhost:8080/health”时,我正在收到回复

{"status":"UP","diskSpace":{"status":"UP","total":493767094272,"free":417100754944,"threshold":10485760}}

所以,这很完美。现在我的问题是如何将这个Spring MVC web应用程序注册到spring-boot-admin服务器。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

如果您不想使用Spring Boots自动配置(@EnableAutoConfiguration),请查看spring-boot-admin-starter-client库的SpringBootAdminClientAutoConfiguration形式,其中包含已配置的所有组件用于在管理服务器上注册。

主要是ApplicationRegistrator和一些用于发布频繁注册的taskScheduler。

如果你根本不想使用client-lib,你也可以通过一个简单的http post请求注册到admin-server的/api/applications端点。

$ curl -H"Content-Type: application/json" --data '{ "serviecUrl":"http://localhost:8080/", "healthUrl":"http://localhost:8080/health", "managementUrl":"http://localhost:8080/","name":"my-app"}' http://<adminserver-host>:<port>/api/applications