개발중/Spring Batch (6) 썸네일형 리스트형 Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid' 스프링 배치 프로젝트 maven install 하는 과정에 이런 에러가 났다.Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid' jdk 버전 문제니 걱정 하지말고 17 로 바꾸자. 나 같은 경우에는 21 안되고 1.8 이 안되었었다. Spring Batch 관련 Table 자동 생성 안될 때 수동 생성하는 방법 initialize-schema: always 옵션을 지정했음에도 불구하고 Spring Batch 관련 Table 자동 생성 안될 때가 있다.그럴 경우에는 수동 생성해야한다. external libraries 에서 org.springframework.batch:spring-batch-core:*.*.* 라이브러리를 찾아보자. spring-batch-core-*.*.*.jar 하위에 org 패키지를 오픈한다. 이것저것 많지만, 좀 내리다보면 아래와 같이 .sql 문이 나온다. 내 데이터베이스와 일치하는 .sql 문을 찾는다. 나는 MYSQL 로 가정한다. 복사해서 수동으로 table 을 생성하자. db 에서 처음 배치 돌릴 때마다 에러나서 ( 버전이 낮음 ; 버전이 낮은 경우에는 안된다고 한다. .. [Spring Batch] 낙관적 잠금 오류 (OptimisticLockingFailureException) 해결하기 서론 현대의 소프트웨어 개발에서 병렬 처리와 데이터 동시성은 필수적이지만, 이로 인해 예상치 못한 오류에 직면할 때가 많습니다. 본 포스트에서는 Spring Batch에서 흔히 발생하는 OptimisticLockingFailureException 오류를 다루고, 이를 flush() 메소드를 사용하여 해결한 경험을 공유하고자 합니다. 이 오류가 프로젝트에 미치는 영향을 이해하고 대처법을 배우는 것은 모든 데이터 중심 애플리케이션 개발자에게 중요할 것입니다. 문제 상세 설명 OptimisticLockingFailureException은 낙관적 잠금 기법을 사용할 때 발생합니다. 이 기법은 동시에 같은 데이터에 여러 트랜잭션이 접근하려 할 때 사용되는데, 데이터 무결성을 보장하기 위해 데이터의 버전을 체크합니.. Spring Batch 로 대용량 일괄처리하기. (대용량 데이터 조회 > 액셀 생성 > 메일 발송) 이슈 Web 에서 대용량 액셀을 생성하는 로직이 있었는데 응답 시간이 지연이 되어 에러가 발생하는 이슈에 부딫쳤습니다. 대안으로 java daemon 을 활용하라는 이야기가 있었지만 (?) 사실 써보고 싶기도 했던 Spring Batch 에 도전해보게 되었습니다 ! 하하하 ... Spring Batch 를 처음 사용해보니 Spring Batch 에 대해 뭔지 알아봐야 했습니다. Spring Batch는 대량의 데이터 처리를 위한 경량화된 프레임워크로, 반복적인 작업을 수행하는 일괄 처리(Batch Processing) 작업을 효율적으로 처리할 수 있는 기능을 제공합니다. 제가 하려고 하는 업무에 딱 ! 이라는 생각이 들어서 Batch 로 프로세스 개발을 시작해보겠습니다. ( 자기 합리화가 시작 .. ? .. Spring Batch 처음 실행해봅니다. 👨💻 ( 완전 간단 예제 ) 전체 코드 입니다. package com.rsn.dic.RsnDictionaryBatch.datamailsend; import org.springframework.batch.core.*; import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing; import org.springframework.batch.core.configuration.support.DefaultBatchConfiguration; import org.springframework.batch.core.job.builder.JobBuilder; import org.springframework.batch.core.launch.JobLauncher; .. [Spring Batch 에러] Caused by:org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT JOB_INSTANCE_ID, JOB_NAMEFROM BATCH_JOB_INSTANCEWHERE JOB_NAME = ? and JOB_KEY = ?] Spring Batch 시작 후 어플리케이션 기동 하니 바로 에러 발생했습니다. java.lang.IllegalStateException: Failed to execute CommandLineRunner at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:777) ~[spring-boot-3.1.4.jar:3.1.4] at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:758) ~[spring-boot-3.1.4.jar:3.1.4] at org.springframework.boot.SpringApplication.run(S.. 이전 1 다음