2014-10-14 4 views
2

스프링 부트에는 Dropwizard Task과 동일한 개념이 있습니까?스프링 부트의 Dropwizard 태스크와 동등한 것

작업은 HTTP를 통해 관리 포트에서 응용 프로그램이 액세스를 제공하는 런타임 작업입니다. 모든 Dropwizard 응용 프로그램은 으로 시작하며 gc 작업은 JVM의 가비지 수집을 명시 적으로 트리거합니다. (이 한가한 시간 동안 또는 주어진 애플리케이션 회전 벗어나는 동안 전체 가비지 콜렉션 실행을 위해 유용하다.) 태스크의 실행 방법은 @Timed 주석 될 수 @Metered@ExceptionMetered. Dropwizard는 작업에 대한 런타임 정보를 자동으로 기록합니다. 작업을 실행하는 관리자 포트

내가 가진 유스 케이스는 봄 부팅 응용 프로그램에서 admin interfacean online backup of an embedded H2 database을 수행하는 간단한 "작업"을 만드는에 /tasks/{task-name}POST 요청을 전송 하여 수행 할 수 있습니다. 핵심 요구 사항은 기본 HTTP 포트 및 네트워크 인터페이스를 통해이 끝점을 노출하고 싶지 않다는 것입니다.

답변

4

봄 부팅은 Endpoint (http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#production-ready-endpoints)입니다. 이 인터페이스를 구현하거나 기본 클래스를 사용하여 @Bean을 만듭니다.

+0

설명의 요점은 DropWizard (예 :'GET'과'POST')에서와 같이 HTTP 메소드를 변경할 수 있습니까? – btiernay

+1

'Endpoint'는 HTTP 인식 인터페이스가 아닙니다 (예 : JMX 작업으로 노출 됨). HTTP (및 기존 구현물)를 원하면'MvcEndpoint'를보십시오. –

+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

관련 문제