Spring Batch에서 Application 설정

새로 스프링 배치 프로그램을 만들었는데, 테스트 환경에서는 특별히 이슈가 없다가 운영 환경에서 오류가 발생했다.

결국은 8080 포트가 충돌나서 오류가 발생한 것이었다.

배치를 여러 번 실행시키는 경우 톰캣이 제대로 shutdown시키지 못해서 발생하는 문제였다.

그런데 스프링 배치인데, 굳이 톰캣을 8080 포트로 실행해야 할 이유가 있을까?

찾아보니 스프링 배치에서는 기본적으로 톰캣을 8080 포트로 로딩하고, 배치 모니터링을 제공한다.

(사실 엄밀히 따지면 배치가 실행되는 동안만 톰캣이 유효하도록 되어 있어서, 내 경우에는 별로 의미가 없는 모니터링이었다)

그래서 찾아봤더니, 아래처럼 설정을 하면 톰캣을 실행시키지 않는다고 한다.

앗, 그런데 deprecate되었다고 warning이 발생한다.

해당 설정을 하는 곳을 찾아봤더니,

위 옵션으로 서블릿을 실행할 것인지 아닌지 처리하는 설정이고,  2.0 버전부터 deprecate되었다고 친절하게 적어놨다.

SpringBoot 2.0 부터는 아래처럼 WebApplicationType을 통해서 설정이 가능하다고 한다.

결국 application.yml에 아래처럼 설정하면 된다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다