spring batch 트랜잭션 질문입니다.
안녕하세요~ 위에 링크 걸어주신 글 저자입니다.spring-batch에서 트랜잭션이 문제가 되는 부분은 Job 실행 당시에 Job을 감싸하고 있는 트랜잭션입니다.위에 첨부하신 코드는 Job을 실행하는 코드가 아닙니다. Job과 Step을 빌드하는 코드에 트랜잭션을 붙여주신거라서 케이스가 다릅니다.```DefaultPointcutAdvisor advisor = new DefaultPointcutAdvisor(new MethodInterceptor() { @Override public Object invoke(MethodInvocation invocation) throws Throwable { if (TransactionSynchronizationManager.isActualTransactionActive()) { throw new IllegalStateException( "Existing transaction detected in JobRepository. " + "Please fix this and try again (e.g. remove @Transactional annotations from client).");```spring-batch 코드를 보시면 MethodInterceptor에서 활성 트랜잭션 여부를 체크하는 로직을 구현해 Batch Job실행 시점에 기존에 활성화된 트랜잭션이 있는지 체크하도록 코드가 작성돼있는걸 확인하실 수 있습니다.