리스트(232)
-
@Meta Annotation에 대해서 알아보자
✅ 아래 내용들에 대해서 알아보자 - 메타 어노테이션이란 - 메타 어노테이션 종류 - 예시 코드 메타 어노테이션 메타 어노테이션이란 java 코드에 메타 정보를 추가할 수 있는 구문의 한 형태. 클래스, 메서드, 변수, 매개변수 및 java 패키지에 어노테이션을 달 수 있다. 해당 어노테이션을 jvm 런타임 및 리플렉션을 통해 읽게 된다. 메타 어노테이션 종류 1. @Target 어노테이션을 어떤 요소에 적용할지 지정 @Target(ElementType.TYPE) 클래스의 어떤 요소에나 적용 가능, 기본값 @Target(ElementType.FIELD) 클래스의 특정 필드 @Target(ElementType.METHOD) 클래스의 메서드 @Target(ElementType.PARAMETER) 메서드의 파..
2023.02.24 -
스프링 IoC/DI 찍먹
✅ 아래 내용들에 대해서 알아보자- IoC- IoC 컨테이너- DI, DI 방식 IoC IoC(Inversion of Control, 제어의 역전)란 프로그램의 일부에 대한 제어를 프레임워크로 이전하는 소프트웨어 엔지니어링 원칙이다.스프링에서는 IOC는 클래스 간의 느슨한 결합을 하기 위해 객체의 생성과 관리를 컨테이너를 통해 프레임워크가 제어하는 것을 의미한다.스프링 컨테이너가 제어권을 가지고 있다고 해서 스프링 컨테이너를 IoC 컨테이너라고 부른다. 이전 개발방식에서는 개발자가 직접 객체를 생성하고 의존성을 관리해야 했으나, 스프링에서는 객체의 생성과 의존성 관리를 IoC 컨테이너가 담당함으로써 객체 간의 결합도를 낮추고, 유연하고 확장성 높은 애플리케이션을 개발할 수 있다. IoC 컨테이너 스프링..
2023.02.24 -
Too Many Connection 트러블 슈팅
현상 배치 테스트 중 개발 DB 서버에 커넥션 연결 시 Too Many Connection 현상 발생 Mysql 상태 확인 max_connections : 최대 접속 수(151) Aborted_connections : MySQL 서버에 접속이 실패된 수(156530) Connections : 연결된 스레드 수(5601532) Max_used_connections : 최대로 동시에 접속한 수 (152) Threads_connected : Thread Cache의 Thread 수 (145) Threads_connected : 현재 연결된 Thread 수(151) Threads_created : 접속을 위해 생성된 Thread 수(17010) Threads_running : Sleeping 되어 있지 않은 T..
2023.02.16 -
3. Job
✅ 아래 내용들에 대해서 알아보자 - Job - JobInstance - JobParameters - JobExecution Job 배치 계층 구조에서 가장 상위에 있는 개념으로서 하나의 배치작업 자체를 의미 Job Configuration을 통해 생성되는 객체 단위로서 배치작업을 어떻게 구성하고 실행할 것인지 전체적으로 설정하고 명세해 놓은 객체 배치 Job을 구성하기 위한 최상위 인터페이스이며 스프링 배치가 기본 구현체를 제공한다 여러 Step 을 포함하고 있는 컨테이너로서 반드시 한 개 이상의 Step으로 구성해야 함 Job은 SimpleJob과 FlowJob으로 구성도미 SimpleJob 순차적으로 Step 을 실행시키는 Job 모든 Job에서 유용하게 사용할 수 있는 표준 기능을 갖고 있음 Fl..
2023.02.14 -
배치 실행 시 잡파라미터 null 바인딩 현상
환경 배치를 로컬에 구성 후 테스트를 하였고 스케쥴링을 통해 특정 잡을 JobLauncher로 실행, JobParameter를 생성하여 전달하였음 현상 스프링 부트 Run을 하여 Reader 부분 확인해 보니 잡 파라미터 값이 null로 들어오고 있다. 처음에 @StepScope를 잘못 썼나? 아니면 파라미터명을 잘못 입력했나? 여러가지 문제를 생각해서 이때부터 삽질의 시간이 시작되었다.. Parameters:[{}] 로 값이 바인딩이 안 되는 로그가 보인다. 그런데 스케쥴링으로 실행되는 부분에서는 잡 파라미터가 잘 들어온다(??) 아래 로그값에도 parameters: [{startDate=2023-02-07, endDate=2023-02-08, timestamp=1675838930004}] 값으로 잘 ..
2023.02.08 -
2. 배치 메타 데이터 분석
✅ 아래 내용들에 대해서 알아보자 - 배치 메타 데이터란 - Job 관련 메타 테이블 - Step 관련 메타 테이블 배치 메타 데이터란? 스프링 배치의 실행 및 관리를 위한 목적으로 여러 도메인들(Job, Step, JobParameters, Execution..)의 정보들을 저장, 업데이트, 조회할 수 있는 스키마 제공 과거, 현재의 실행에 대한 세세한 정보, 실행에 대한 성공과 실패 여부 등을 관리함으로써 배치 운영에 있어 이슈 발생 시 빠른 대처 가능 DB와 연동할 경우 필수적으로 메타 테이블이 생성되어야 함 스프링 배치는 DB별 스키마를 제공한다.(Drop, Create DDL 제공) 위치는 인테리제이 기준으로 External Library > org/springframwork.batch.core..
2023.02.06