Spring JDBC와 JdbcOperations
Spring Data JDBC를 사용할 때, CrudRepository와 자동생성 쿼리 만으로는 커버가 되지 않는 경우가 반드시 생기고, 이 경우 @Query 보다는 JdbcOperations를 쓰는 것이 낫다. (see[Spring Data JDBC] docs ) 따라서 CrudRepository를 아래와 같이 Dao로 확장해서 관리하는 것이 좋다...
Spring Data JDBC를 사용할 때, CrudRepository와 자동생성 쿼리 만으로는 커버가 되지 않는 경우가 반드시 생기고, 이 경우 @Query 보다는 JdbcOperations를 쓰는 것이 낫다. (see[Spring Data JDBC] docs ) 따라서 CrudRepository를 아래와 같이 Dao로 확장해서 관리하는 것이 좋다...
전문 해석 시 고려해야 하는 것들은, align, padding, trim, 날짜 포맷, 숫자 포맷 변환 등이다. 문자 타입은 끝문자 trim 정도만 처리하면 제대로 매핑되지만, 날짜, 숫자 포맷은 전문 송신처에 따라 포맷이 각각 달라 디테일한 처리가 필요하다. e.g., 0.8%을 어디서는 00080000 으로 보내고, 어디서는 00.80으...
RecordFieldSetMapper로 모든 케이스의 전문 변환이 커버 가능할까? =>아니다. public interface ConversionService { override fun convert(source: Any?, sourceType: TypeDescriptor?, targetType: TypeDescriptor): Any? }...
상황 1) 외부 API 요청에 대한 응답 수신 코드로 enum을 쓰는게 좋을까? 요약 ) 외부 API 요청에 대한 응답 코드나, 내 API에 대한 요청 코드의 타입은 enum으로 정의하는 것 보다 String으로 정의하고 enum 변환하는게 더 유연하고 안전하다. (fault tolerance) enum에 정의 되어 있지 않은 값이 응답 코드로...
LineMapper는 크게 Tokenizer와 FieldSetMapper로 이루어진다. 전문 특성상 LineMapper로는PatternMatchingCompositeLineMapper 를 Tokeinizer로는 FixedLengthTokenizer를 사용하면 되는데 FieldSetMapper로는 세 가지 선택지가 있다. BeanWrapperFi...
전문은 line의 맨 처음 시작 문자 (H, D, T 등)에 따라서 라인의 포맷, 필드가 달라진다. 배치에서 파일을 읽어와 맨 처음 시작 문자를 보고, 적절하게 분기해서 lineMapping 해야 하는 상황이었다. 기존 코드에서는 FlatFileItemReader를 상속한 TelegramFileItemReader가 있고, 여기서 LineMapper들...
요약 ) 동작 중 서버 다운에 대한 대책. exactly once가 가능하려면… 동작 수행과 수행 결과에 대한 저장이 transaction이나 atomic으로 이루어 질 수 있어야 한다 원격지 서버 API 요청 동작 시, 네트워크 장애에 대한 대책. exactly once가 가능하려면… ...
SpringBoot 안쓰는 경우 - CommandLineJobRunner 공식 docs 참고 -https://docs.spring.io/spring-batch/docs/4.3.6/reference/html/job.html#runningAJob https://kwonnam.pe.kr/wiki/springframework/batch/comman...
https://www.baeldung.com/spring-boot-3-migration#spring-batch 6.1. @EnableBatchProcessing Discouraged Previously, we could enable Spring Batch’s auto-configuration, annotating a configuration clas...
공통 비즈니스 로직을 처리하려면 결과적으로 외부 API 응답(JSON)을 Domain Model로 변환해야 한다. 외부 API에서 받아온 데이터가 공통 비즈니스 로직까지 도달하기 전 거쳐가는 layer는 아래와 같다. 아래 과정 중 어디선가는 Domain Model로의 변환을 수행해 주어야 한다. Business Layer(Service class)...