티스토리챌린지 2

[Spring Batch] Table "BATCH_JOB_INSTANCE" not found

Batch 프로젝트의 초기 Config를 구성하는 과정에서 로컬과 개발 서버에서는 정상적으로 동작하는데,이상하게 운영 서버에서 실행하면 에러가 발생했다.해결하는 과정에서 여러 에러를 마주쳤는데, 최대한 상기하며 정리해보겠습니다. BadSqlGrammarException [SELECT JOB_INSTANCE_ID, JOB_NAME from BATCH_JOB_INSTANCE where JOB_NAME = ? and JOB_KEY = ?]운영에 배포하기 전에 개발서버에서 정상 동작하는 것을 확인했었다. 그리고 에러 로그도 SQL Exception 관련 문제라고 말하지만 문제가 되는 테이블은 Spring Batch에서 관리하는 메타 테이블이기 때문에 mapper 쪽을 잘못 작성해서 발생한 문제는 아니다. 어쨌든..

Spring 2024.11.20

의존성 역전 원칙(DIP)과 인터페이스 소유권의 역전

'의존성 역전 원칙(DIP)'은 '의존성 주입'의 약자인 DI(Dependency Injection)와 비슷하게 생겼기에 유사한 개념이라고 혼동할 수 있다.연관이 아예 없는 것은 아니지만 어쨌든 ' SOLID'라고 객체지향 설계 원칙에서 제일 마지막에 등장하는 원칙인 'Dependency Inversion Principle' 과 이로 인해 생각해 볼 Spring Web MVC 구조에 대해서도 정리해 봤다. 의존성 역전 원칙(Dependency Inversion Principle) 이란?DIP의 정의는 아래와 같다. 이해하기 힘든 문장들을 코드와 함께 하나하나 파헤쳐 보자."상위 수준 모듈은 하위 수준 모듈에 의존해서는 안 된다. 둘 모두 추상화에 의존해야 한다. 또한, 추상화는 구체적인 사항에 의존해서는..

Spring 2024.11.17