목록Spring (17)
초보개발자 긍.응.성
이 글은 Spring Batch의 Meta-Data Schema를 참고하여 작성하였으며, 개인적으로 스프링 배치에 사용하는 메타 테이블에 대해 공부하며 정리한 글입니다. 잘못된 내용이 있다면 짚어주시면 감사하겠습니다. ERD Spring Batch의 메타 데이터 테이블들은 배치의 도메인 객체들과 거의 정확히 일치한다. JobExecution와 BATCH_JOB_EXECUTION 테이블과 같이 말이다. DDL 스크립트 이 메타 데이터 테이블의 DDL은 org.springframework.batch.core 패키지 하위에 schema-*.sql 파일로 존재한다. 이때 *는 지원하는 DB 이름이다. 스프링 배치 버전 업으로 메타 데이터를 마이그레이션 해야 할 시 org/springframework/batch/..
What is Spring Data Spring Data는 기본 데이터 저장소(DB)에 대한 특성은 유지하며, 데이터 액세스 방법에 대하여 친숙하고 익숙한 접근 방법을 제시하는 목적을 가진 Spring 기반 프로그래밍 모델입니다. Spring Data를 이용하면 데이터 액세스 기술, 관계형/비관계형 데이터베이스, map-reduce 프레임워크, cloud기반 데이터 서비스를 쉽게 적용할 수 있습니다. Sping Data는 각각의 데이터베이스에 대해 만들어진 특정한 하위 프로젝트를 포함하는 *umbrella project 입니다. 그렇기에 이 프로젝트는 다양한 회사들과 개발자와 함께 개발되고 있습니다. > Umbrella Project 란? Umbrella project는 (i) 명시된 표준을 준수하는 b..
Logback은 로그 이벤트를 출력하는 방법으로 Appender를 이용합니다. 분산 서버 환경에서 ConsoleAppender나 FileAppender들을 이용한다면 해당 로그들은 서버 내에 쌓이게 됩니다. 이번 글에서는 애플리케이션에서 발생한 로그 이벤트를 아파치 카프카를 통하여 Publish 하는 방법에 대하여 다뤄보겠습니다. Appender에 대하여 더 알아보고 싶다면 Logback - 4.Appenders (1). ConsoleAppender, FileAppender를 참고해주세요. logback-kafka-appender Log4j는 KafkaAppender를 직접 지원하지만 Logback의 경우 오픈소스로 제공되는 logback-kafka-appender를 사용합니다. logback-kafka..
logback 홈페이지의 매뉴얼을 읽으며 내용들을 정리한 글입니다. Logback Filters Logback Filters는 임의로 생성한 복잡한 필터링 정책을 조립하고 연결합니다. 이번 장에서는 logback-classis에서 사용하는 Logback filter들에 대해 알아보겠습니다. Logback Filters in logback-classic logback-classic 모듈은 regular filters와 turbo filters 두 가지 타입의 필터를 제공합니다. Regular filters logback-classic의 Regular filters는 추상 클래스 Filter를 상속하며, ILoggingEvent를 파라미터로 받아오기 위한 decide() 메서드를 구현합니다. 등록된 Filt..
logback 홈페이지의 매뉴얼을 읽으며 내용들을 정리한 글입니다. PatternLayout PatternLayout은 가장 유연하게 사용되는 Logback-classic 모듈의 layout입니다. PatternLayout은 이벤트를 입력한 문자열 패턴에 맞추어 변환합니다. 이때 PatternLayout에 입력한 문자열을 변환 패턴(Conversion Pattern)이라 합니다. PatternLayout의 변환 패턴은 C언어의 printf() 함수와 매우 유사합니다. 변환 패턴은 리터럴 텍스트(literal text)와 변환 지정자(conversion specifiers)로 구성됩니다. 리터럴 텍스트는 변환 패턴 문자열에 삽입되어 삽입된 문자 그대로 출력됩니다. 변환 지정자는 퍼센트 기호 '%'로 시작되..
logback 홈페이지의 매뉴얼을 읽으며 내용들을 정리한 글입니다. Layout이란? Layout은 들어오는 이벤트에 대해 문자열로 변환해주는 역할을 하는 logback의 component입니다. Layout 인터페이스의 format() 메서드는 이벤트를 나타내는 object를 가져가 String 형으로 반환합니다. 하지만, 막상 Layout 인터페이스에는 format 메서드가 없는데 현재 doLayout() 메서드가 이를 대체합니다. Layout 인터페이스는 아래와 같습니다. public interface Layout extends ContextAware, LifeCycle { String doLayout(E event); String getFileHeader(); String getPresentati..