본문 바로가기
728x90

전체 글249

스프링 배치 - Step StepBuilderFactory StepBuilder 를 생성하는 팩토리 클래스로서 get(String name)메서드 제공 StepBuilderFactory,get("stepName"): "stepName" 으로 Step 을 생성 StepBuilder Step 을 구성하는 설정 조건에 따라 다섯 개의 하위 빌더 클래스를 생성하고 실제 Step 생성을 위임한다. TaskletStepBuilder TaskletStep 을 생성하는 기본 빌더 클래스 SimpleStepBuilder TaskletStep 을 생성하며 내부적으로 청크기반의 작업을 처리하는 CHunkOrientedTasklet 클래스를 생성 PartitionStepBuilder PartitionStep 을 생성하며 멀티 스레드 방식으로 Job .. 2023. 4. 13.
@RequiredArgsConstructor 시 not initialized in the default constructor 에러가 난다면 lombok 을 추가하고 해당 에러가 발생한다면 다음과 같이 의존성부분을 변경하거나 추가하자 gradle 5 이상부터는 어노테이션을 구분해 주어야 한다. dependencies { //아래와 같은 롬복형식으로 추가되어 있다면 // compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.24' //아래와 같이 변경해 보자. compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' } 이외 다른 추가 설정이 있다면 조금 달라질 수 있다. 2023. 4. 13.
스프링 배치 - Job SimpleJob 기본개념 SimpleJob 은 Step 을 실행시키는 Job 구현체로써 SimpleJob 에 의해 생성된다. 여러 단계의 Step 으로 구성할 수 있으며 Step 을 순차적으로 실행시킨다 모든 Step 의 실행이 성공적으로 완료됭야 Job 이 성공적으로 완료 된다. 맨 마지막에 실행한 Step 의 BatchStatus 가 Job 의 최종 BatchStatus 가 된다. validator 기본개념 Job 실행에 꼭 필요한 파라미터를 검증하는 용도 DefaultJobParametersValidator 구현체를 지원하며, 좀 더 복잡한 제약 조건이 있다면 인터페이스를 직접 구현할 수 있음. preventRestart 기본개념 Job 의 재 시작 여부를 셜정 기본 값은 true 이며 false.. 2023. 4. 12.
스프링 배치 실행 - JobBuilderFactory, JobBuilder JobBuilderFactory JobBuilder 를 생성하는 팩토리 클래스, get(String name) 메서드 제공 JobBuilderFactory.get("jobName"): "jobName" 은 스프링 배치가 Job 을 실행시킬 때 참조하는 Job 의 이름 JobBuilder Job 을 구성하는 설정 조건에 따라 두 개의 하위 빌더 클래스를 생성하고 실제 Job 생성을 위임한다. SimpleJobBuilder SimpleJob 을 생성하는 Builder 클래스 Job 실행과 관련된 여러 설정 API 를 제공한다. FlowJobBuilder FlowJob 을 생성하는 Builder 클래스 내부적으로 FlowBuilder 를 반환함으로써 Flow 실행과 관련된 여러 설정 API 를 제공한다. 2023. 4. 12.
스프링배치 도메인 JOB 기본 개념 배치 계층 구조에서 가장 상위에 있는 개념. 하나의 배치작업 자체를 의미. Job Configuration 을 통해 생성되는 객체 단위로서, 배치 작업을 어떻게 구성하고 실행할 것인지 설정하고 명세해 놓은 객체 배치 Job 을 구성하기 위한 최상위 인터페이스이며 스프링 배치가 기본 구현체를 제공한다. 여러 Step 을 포함하고 있는 컨테이너로서 반드시 한개 이상의 Step 으로 구성해야 함. 기본 구현체 SimpleJob 순차적으로 Step 을 실행시키는 Job 모든 Job 에서 유용하게 사용할 수 있는 표준 기능을 갖고 있음 FlowJob 특정한 조건과 흐름에 따라 Step 을 구성하여 실행시키는 Job Flow 객체를 실행시켜 작업을 진행함. --- JobInstance 기본 개념 .. 2023. 4. 10.
스프링배치 - 테이블 Job 관련 테이블 BATCH_JOB_INSTANCE Job 이 실행될 떄 JobInstance 정보가 저장, job_name 과 job_key 를 키로 하여 하나의 데이터가 저장. 동일한 job_name 과 job_key 로 중복 저장될 수 없다. BATCH_JOB_EXECUTION Job 의 실행정보가 저장되며 Job 생성, 시작, 종료 시간, 실행상태, 메시지 등을 관리 BATCH_JOB_EXECUTION_PARAMS Job 과 함께 실행되는 JobParameter 정보를 저장 BATCH_JOB_EXECUTION_CONTEXT Job 의 실행동안 여러가지 상태정보, 공유 데이터를 직렬화 해서 저장 Step 간 서로 공유 가능. Step 관련 테이블 BATCH_STEP_EXECUTION Step 의 .. 2023. 4. 10.
코틀린 jackson: com.fasterxml.jackson.databind.exc.InvalidDefinitionException 코틀린으로 위와 같이 에러가 난다면. private val objectMapper = ObjectMapper().registerKotlinModule() 로 코드를 변경해서 사용하자. 2023. 4. 5.
2차전지 투자 포트폴리오 기록용 비율은 맞추는 중. 우선 목록 POSCO 홀딩스 포스코케미칼 에코프로 에코프로비엠 LG에너지솔루션 SK이노베이션 나노신소재 코스모신소재 윤성에프앤씨 대주전자재료 금양 비율을 대형주 위주로 맞출거 같긴한데, 정찰병 보낸거도 있고.. 현재 가지고 있는 금액이 적다보니, 비율 맞추기가 힘든거 같다..LG 에솔 왜케 비싸냥..ㅜㅜ 적립식으로 비율을 좀 맞춰봐야겠다..좀 물린거 위주로 더 넣을거 같기도하고... 크지않은 금액이라 몇주안되니 그냥 시장가로 매입..ㅎ 딴건 모르겠고 분할매수, 분할매도 를 기억하자..아 근데 좀 너무 막산듯..ㅋㅋ; 돈생기면 더 매입 예정. --- 금액이 적고 너무 분산이라는 생각이들어서, 에코프로, 포스코홀딩스, 에코프로비엠, 나노신소재, 코스모신소재, 금양 정도로 줄일듯. 정찰병 .. 2023. 3. 27.
mysql MyISAM, InnoDB 언두 로그, 리두 로그 myISAM 엔진은 리두 로그와 언두 로그를 지원하지 않습니다. 따라서, 데이터를 복구하거나 롤백하는 과정에서 문제가 발생할 가능성이 높습니다. 반면에 InnoDB 엔진은 리두 로그와 언두 로그를 사용하여 데이터베이스의 일관성과 복구를 보장합니다. InnoDB 엔진에서 데이터가 변경되면, 변경 사항은 리두 로그에 기록됩니다. 이는 변경 사항을 디스크에 먼저 기록하고, 메모리에 데이터를 로드하는 것보다 빠릅니다. 따라서, 시스템이 다운되거나 데이터베이스에 문제가 발생한 경우, InnoDB 엔진은 리두 로그를 사용하여 데이터베이스를 복구할 수 있습니다. 또한, InnoDB 엔진은 언두 로그를 사용하여 롤백 기능을 제공합니다. 이는 데이터베이스에 문제가 발생한 경우 변경 사항을 취소할 수 있는 기능입니다. 따.. 2023. 3. 15.
728x90