#spring #spring-boot #spring-boot-actuator
#пружина #пружинный загрузчик #пружинный башмак-привод
Вопрос:
Я создал приложение Spring Boot, которое запускает потоковую передачу большого набора данных в очереди Kafka. У него нет контроллера, поскольку у меня нет никаких конечных точек, но я хочу, чтобы конечные точки привода были видны. Требуется ли всегда иметь контроллер, чтобы конечные точки привода были видны. Я выполнил все шаги по настройке конечных точек привода. Это репозиторий: https://github.com/gavarava/postgres-big-db
Ответ №1:
Нет, вам не нужно их 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
Комментарии:
1. Спасибо за помощь. Проверьте мой собственный ответ … все еще изучаю точный способ запуска spring.
2. Вы, наконец, добавили зависимость привода. Зависимость привода не была в вашем pom.xml когда вы задали свой вопрос.
3. Да, это не работало, несмотря на добавление зависимости. Так что это сработало в моих тестах, но не в производстве. Разница заключалась в том, что я отключил производителя Kafka в тестовом профиле. Спасибо за поддержку.
Ответ №2:
Проблема заключалась в том, что я создавал Kafka producer с полубесконечным циклом. Похоже, что инициализация Spring не завершит включение конечных точек привода, поскольку мой полубесконечный цикл продолжался. Я изменил цикл while на условие if и вызывал его каждые 5 секунд, а также добавил в свой метод асинхронную аннотацию.
Таким образом, все движется дальше, и привод тоже включен.