问题描述
我创建了一个Spring Boot Application,它开始在Kafka Queue上流式传输大量数据。它没有控制器,因为我没有任何端点,但是我希望执行器端点可见。是否始终需要有一个Controller才能看到Actuator端点。我已经按照所有步骤设置了执行器端点。 这是存储库:https://github.com/gavarava/postgres-big-db
解决方法
否,您不需要任何controller
即可使用actuators
。
执行器端点未显示的原因是您尚未在pom.xml
中添加执行器依赖性。
将此添加到您的pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
这将为您提供health
和info
端点。
如果希望所有端点在application.properties
文件中添加此属性。
management.endpoints.web.exposure.include=*
您将在/actuator/{endpoint}
处访问端点。
您可以在
找到更多关于执行器的信息
https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html
问题是我正在创建一个带有半无限循环的Kafka生产者。 如此看来,由于我的半无限循环正在进行中,Spring初始化似乎无法完成启用执行器端点的功能。 我将while循环更改为if条件,并每5秒调用一次,还向我的方法添加了Async注释。
这样,一切都会继续进行,执行器也将启用。