2017-11-09 4 views
0

스프링 부트 응용 프로그램이 있습니다. 응용 프로그램이 시작되면 데이터베이스를 시드해야합니다. 그 후에 다시 씨를 뿌릴 필요가 없습니다. 현재 Spring Batch를 사용하고 있습니다. 그러나 배치는 앱을 시작할 때마다 시작됩니다 (dev-test-redeploy).스프링 부트 및 배치 : application.properties 값을 기준으로 시작하는 배치를 중지하십시오.

스프링 배치에 변수를 기반으로 아무런 일도하지 말라고 말하는 방법이 있습니까? 내 환경 매개 변수를 어디서나 얻을 수있는 방법을 알고 있습니다. 스프링 배치 설정에 어디에 넣어야할지 모르겠습니다.

도움을 주시면 대단히 감사하겠습니다.

+0

https://stackoverflow.com/questions/23447948/how-spring-boot-run-batch-jobs :'enabled = false' 및 프로그래밍 방식으로 작업 시작 –

+1

@ LucaBassoRicci Thanks Luca. 그게 내가 원하는거야. –

답변

0

전체 설정이 확실하지 않지만 데이터베이스를 확인 (간단한 계산)하여 Step/TaskLet 구현에 데이터가 이미 있는지 확인하여 항목을 모두 처리하지 않아도됩니다./작가는 그냥 항목을 건너 뛰겠습니까?

구성 속성을 실제로 사용하려는 경우 일괄 구성에 @ConditionalOnProperty을 적용 할 수 있습니다. (속성을 사용하는 것은 인적 오류가 발생하기 쉽기 때문에 두 번째로 응용 프로그램을 시작할 때 매개 변수를 토글하는 것을 기억해야하기 때문에).

관련 문제