2014-10-14 2 views
2

Есть ли эквивалентная концепция Dropwizard Task в Spring Boot?Что является эквивалентом задачи Dropwizard весной загрузки

Задача - это действие во время выполнения, которое ваше приложение обеспечивает доступ к административному порту через HTTP. Все приложения Dropwizard начинаются с задачи gc, которая явно запускает сборку мусора JVM. (Это полезно, например, для запуска полные коллекции мусора в нерабочее часы пик или в то время как данное приложение находится вне вращения.) Способ выполнения поставленной задачи может быть аннотированный с @Timed, @Metered и @ExceptionMetered. Dropwizard автоматически записывает информацию о ваших задачах. Выполнение задачи может быть сделано путем отправкой POST запроса /tasks/{task-name} на администраторе порта

Прецедент меня создает простую «задачу» для выполнения an online backup of an embedded H2 database на admin interface в приложении Spring загрузки. Ключевым требованием является то, что я не хочу показывать эту конечную точку по основному порту HTTP и сетевому интерфейсу.

ответ

4

Весенняя загрузка вызывает Endpoint (http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#production-ready-endpoints). Вы просто реализуете этот интерфейс (или используете базовый класс) и создаете @Bean.

+0

Как можно уточнить, можно ли изменить метод HTTP, как в DropWizard (т. Е. 'GET' или' POST')? – btiernay

+1

«Конечная точка» не является интерфейсом, поддерживающим HTTP (например, он подвергается воздействию JMX-операции). Посмотрите на «MvcEndpoint», если хотите HTTP (и существующие реализации). –

+0

Спасибо, смог найти хороший пример 'POST' здесь: https://github.com/spring-projects/spring-boot/blob/master/spring-boot-actuator/src/main/java/org/ springframework/boot/actuate/endpoint/mvc/ShutdownMvcEndpoint.java – btiernay

Смежные вопросы