2011-07-30 11 views
3

배치/셸 스크립트를 사용하여 실행 가능한 jar로 배포되는 하나의 스프링 배치 응용 프로그램을 개발했습니다. 그것은 잘 작동합니다.스프링 배치 관리와 스프링 배치 관리 통합

최근에 나는 스프링 배치 관리 응용 프로그램 릴리스에 대해 읽었습니다. 그들의 문서에 따르면, 그들은 당신이 job-context.xml을 가리켜 야한다고 말하면 스프링 배치 애플리케이션을 관리 애플리케이션에서 시작, 재시작 및 중지하도록 관리 할 수 ​​있다고합니다. 이제 내 질문은 내 job-context.xml을 jar 파일 외부에 두어야하는지 아니면 정확한 단계인지,이 구성에 대해 혼란 스럽다. 이것에 대한 통찰력은 매우 유용합니다. 그런데 스프링 배치 2.1을 사용하고 있습니다.

감사

응용 프로그램에서 사용자 정의 클래스를 가지고 있으며, 실행 가능한 단지로 배포되며, 스프링 배치 관리자에 포함하지 않으면

답변

1

, 당신은 작업을 시작할 수 없습니다. 작업의 상태를보고 데이터베이스의 상태를 "종료"할 수만 있습니다. 당신이 구성 업로드 섹션의 마지막 부분에 http://static.springsource.org/spring-batch-admin/reference/reference.xhtml 보면

당신은에서 프로세스 실행 가능한 인 작업 레지스트리에 새 항목 ("테스트 작업")을 볼 수있는 상태 때문에 응용 프로그램에 작업에 대한 참조가 있습니다. (과정에서 실행 된 실행 가능하지 채용하지만, 는 JobRepository에 대해 동일한 데이터베이스를 사용, 그래서 그들은 UI에 자신의 실행으로 표시됩니다.)

당신의 작업은 엄격하게 구성 작업이있는 경우 as-in에서는 XML 만 사용하여 정의 된 항목 판독기/프로세서/작성기 또는 기타 사용자 정의 클래스를 수행 할 필요가 없기 때문에 작업 XML을 업로드 할 수 있으며 관리 사이트 내에서 실행할 수 있습니다. 내 경험에 비추어 볼 때 커스텀 클래스가 있다면 스프링 애플리케이션을 웹 애플리케이션에 배치 한 다음 별도로 실행하려는 작업이 포함 된 XML을 업로드해야한다.

저는 개인적으로 관리 도구를 사용하여 작업 상태를보고 일부 사용자 정의 페이지를 통해 통계를 제공했습니다. 나는 작업을 실행하기 위해 스케줄러를 떠났고 관리자 사이트에 액세스 할 수있는 사람들이 아무 것도 모르는 상태에서 작업을 시작하기를 원하지 않았습니다. 기본적으로, 사용자가 그것을 망칠 수 없도록 사용자에게 따뜻한 퍼지를주기 위해 사용됩니다. (사용자에게 맡기지 마십시오.)

2

Spring Batch 관리 응용 프로그램은 훌륭한 참조 구현이며 고도의 사용자 정의가 가능합니다. 모든 인터페이스 구현은 고유 한 클래스를 사용하여 Spring DI를 통해 대체 될 수 있습니다. UI는 또한 템플릿 구동 (FreeMarker로 생각합니다.)하므로 관련 정보를 표시하고 피부를 변경하는 등 사용자 정의 할 수 있습니다.

비슷한 기능이 필요합니다. jar로 빌드 된 앱에 관리자 기능이 필요합니다. .war 파일로 작업을 패키징해야한다는 사실을별로 좋아하지 않았습니다. 대신 Spring Batch Admin 소스에서 관련 구성을 추출하고 파일 시스템에서 작동하며 임베디드 Jetty 서버에서 실행되는 배치를 작성했습니다. 여기

페이지의 스크린 샷 : https://github.com/regunathb/Trooper/wiki/Trooper-Batch-Web-Console

소스, 구성 등이 여기에 사용할 수 있습니다 https://github.com/regunathb/Trooper/tree/master/batch-core. 이 프로젝트는 .war이 아닌 .jar 파일을 실제로 만듭니다.

관련 문제