hooneats (52) 썸네일형 리스트형 Gradle Multi-Module구성하기 멀티 모듈을 사용하면 의존성 및 관심사의 분리를 통해 유지보수 및 개발에 있어서 프로젝트 구조의 이해 및 관리가 쉬워진다. 그림과 같은 Layered Architecture 설계가 가능해진다. Layered Architecture 의 핵심 원칙 같은 계층, 아래 계층 요소에만 의존성을 가지고 상위계층에는 의존성이 없어야 합니다. User Interface Layer : Front-End 사용자에게 정보를 보여주고, 사용자의 명령을 해석하는 일을 책임집니다. Application Layer 소프트웨어가 수행할 작업을 정의하고, 도메인 객체가 문제를 해결하게 합니다. 업무규칙이나 지식이 포함되지 않으며 오직, 작업을 조정하고 아래 계층의 도메인에 작업을 위임합니다. 업무상황을 반영하는 상태는 없지만, 사용자.. Quartz 사용해보기 쿼츠는 스케줄러 , 잡 , 트리거 라는 세 가지 주요 컴포넌트를 가진다. 스케줄러는 SchedulerFactory 를 통해서 가져올 수 있으면 JobDetails 및 트리거의 저장소 기능을 한다. 또한 스케줄러는 연관된 트리거가 작동할 때 잡을 실행하는 역할을 한다. 잡은 실행할 작업의 단위이다. 트리거는 작업 실행 시점을 정의한다. 트리거가 작동돼 쿼츠에게 잡을 실행하도록 지시하면 잡의 개별 실행을 정의하는 JobDetails 객체가 생성된다. SimpleJobConfigurationForQuartz.java @Configuration @RequiredArgsConstructor public class SampleJobConfigurationForQuartz { private final JobBui.. MySQL SQL 예약어를 확인하자 MySQL 예약어이다. ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN BIGINT BINARY BLOB BOTH BY CALL CASCADE CASE CHANGE CHAR CHARACTER CHECK COLLATE COLUMN CONDITION CONSTRAINT CONTINUE CONVERT CREATE CROSS CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR DATABASE DATABASES DAY_HOUR DAY_MICROSECOND DAY_MINUTE DAY_SECOND DEC DECIMAL DECLARE DEFAULT DELAYED DELETE DESC DESCRIBE .. BeanUtils 객체간 필드값을 복사하는 방법 객체를 필드값을 복사하는 방법은 여러가지가 있다. 그 중에서 스프링부트가 제공하는 두가지를 간단하게 소개하려한다. 첫번째는 BeanUtils.copyProperties 를 활용하는 방법이다. @Test void BeanUtils_를_활용() { Test1 test1 = new Test1("123","1234","1235","1236","1237","1238"); Test1 test2 = new Test2(); Long start1 = System.currentTimeMillis(); BeanUtils.copyProperties(test1,test2); Long end1 = System.currentTimeMillis(); System.out.println("test2 = " + test2); System.. @EqualsAndHashCode /* * Copyright (C) 2009-2020 The Project Lombok Authors. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software,.. Job 실습해보기 1. HelloWorld 띄우기 2-1. Job Parameter ChunkContext 2-2. Job Parameter 늦은 바인딩 3-1. Job Parameter 유효성 검증하기 1 3-2. Job Parameter 유효성 검증하기 2 4-1. Job Parameter 증가시키기 4-2. Job Parameter 자동 타임스탬프 사용하기 5-1. Job Listener - JobExecutionListener 구현 5-2. Job Listener - 애너테이션 사용하기 6-1. Job ExecutionContext 조작하기 - Job 의 ExecutionContext 에 foo 데이터 추가하기 6-2. Job ExecutionContext 조작하기 - Step 의 ExecutionContext 에.. 스프링 배치 스텝 Step 스텝 Step 잡이 전체적인 처리를 정의한다면, 스텝은 잡의 구성 요소를 담당한다. 스텝은 독립적이고 순차적으로 배치 처리를 수행한다. 때문에 스텝은 서로간 독립적이며 트랜젝션은 스텝 내에서 이뤄진다. 스텝 구성 태스크릿 스텝 - Tasklet : 인터페이스의 execute 메서드를 구현 후 RepeatStatus 객체를 반환 *RepeatStatus 는 CONTINUABLE 과 FINISHED 두 가지가 있다. CONTINUABLE 은 스프링 배치에게 해당 태스크릿을 다시 실행하라고 하는 것이다.(특정 조건 충족시까지 반복해야 할 때) - CallableTaskletAdapter : Callable 인터페이스의 구현체를 구성할 수 있게 해주는 어댑터이다. 새 스레드에서 실행된다는 점에서 Runnable.. 스프링 배치 잡 Job 잡 Job 잡은 흐름과 유사하다. 잡을 처음부터 끝까지 독립적으로 실행할 수 있는 고유하며 순서가 지정된 여러 스텝의 목록이라고 정의할 수 있다. 잡의 실행은 잡 러너 (Job Runner) 에 의해 시작된다. 잡 러너는 잡 이름과 여러 파라미터를 받아들여 잡을 실행시키는 역할을 한다. 스프링 배치는 두 가지 잡 러너를 제공한다. - CommandLineJobRunner : 스크립트를 이용하거나 명령형에서 직접 잡을 실행할 때 - JobRegistryBackgroundJobRunner : 자바 프로세스 내에서 Quartz (쿼츠) 나 JMX 후크와 같은 스케줄러를 사용해 잡을 실행한다면, 스프링이 부트스트랩될 때 가능한 잡을 가지고 있는 JobRegistry 를 생성한다. 즉 JobRegistryBack.. 이전 1 ··· 3 4 5 6 7 다음 목록 더보기