====== Job Reader 설정 ====== ===== 설명 ===== 배치 수행시 사용되는 입력 데이터를 등록하여 사용할 수 있는 관리 환경을 제공한다. \\ ===== 사용법 ===== ==== Job Reader 구성 ==== - 메뉴 표시줄에서 **Window** > **Preferences**를 선택한다. \\ {{:egovframework:dev2:bdev:tst:batch_job_test_wizard:batchjobtstwizard_jobparameters_menu.png?600|}} \\ \\ - Preferences 페이지의 우측 목록에서 **eGovFrame** > **Batch** > **Job Reader/Writer**를 선택하고 **Job Reader 탭**을 선택 후 New 버튼을 클릭하여 새로운 Job Reader 를 추가한다. \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:preferences_reader_new.png?600|}} \\ \\ - 등록하기 위한 Job Reader 이름을 지정하고 해당 Resource Type과 ReaderType 선택후 확인버튼을 클릭하여 Job Reader 를 추가한다.\\ ✔ Job Reader 등록시 중복되는 Name은 등록할 수 없다. \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:preferences_reader_register.png.png|}} ==== 제공하는 Job Reader별 설명 ==== === FixedFlatFileItemReader === * FixedFlatFileItemReader 선택시 마법사 \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:fixedflatfileitemreader.png?450|}} \\ \\ * FixedFlatFileItemReader 사용시 대상 XML 설정 == == === DelimitedFlatFileItemReader === * DelimitedFlatFileItemReader 선택시 마법사 \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:delimitedflatfileitemreader.png?450|}} \\ \\ * DelimitedFlatFileItemReader 사용시 대상 XML 설정 == == === EgovFixedFlatFileItemReader === * EgovFixedFlatFileItemReader 선택시 마법사 \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:egovfixedflatfileitemreader.png?450|}} \\ \\ * EgovFixedFlatFileItemReader 사용시 대상 XML 설정 == == === EgovDelimitedFlatFileItemReader === * EgovDelimitedFlatFileItemReader 선택시 마법사 \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:egovdelimitedflatfileitemreader.png?450|}} \\ \\ * EgovDelimitedFlatFileItemReader 사용시 대상 XML 설정 == == === FixedMultiResourceItemReader === * FixedMultiResourceItemReader 선택시 마법사 \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:fixedmultiresourceitemreader.png?450|}} \\ \\ * FixedMultiResourceItemReader 사용시 대상 XML 설정 == == === DelimitedMultiResourceItemReader === * DelimitedMultiResourceItemReader 선택시 마법사 \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:delimitedmultiresourceitemreader.png?450|}} \\ \\ * DelimitedMultiResourceItemReader 사용시 대상 XML 설정 == == === EgovFixedMultiResourceItemReader === * EgovFixedMultiResourceItemReader 선택시 마법사 \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:egovfixedmultiresourceitemreader.png?450|}} \\ \\ * EgovFixedMultiResourceItemReader 사용시 대상 XML 설정 == == === EgovDelimitedMultiResourceItemReader === * EgovDelimitedMultiResourceItemReader 선택시 마법사 \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:egovdelimitedmultiresourceitemreader.png?450|}} \\ \\ * EgovDelimitedMultiResourceItemReader 사용시 대상 XML 설정 == == === CustomizeFileReader === * CustomizeFileReader 선택시 마법사 \\ ✔ 사용자 임의 지정 Reader를 등록하고 싶을 경우 사용하는 항목입니다. \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:customizefilereader.png?450|}} \\ \\ ==== ==== === IbatisPagingItemReader === * IbatisPagingItemReader 선택시 마법사 \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:ibatispagingitemreader.png?450|}} \\ \\ * IbatisPagingItemReader 사용시 대상 XML 설정 == == === CustomizedJdbcCursorItemReader === * CustomizedJdbcCursorItemReader 선택시 마법사 \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:customizedjdbccursoritemreader.png?450|}} \\ \\ * CustomizedJdbcCursorItemReader 사용시 대상 XML 설정 == == === SqlPagingQueryJdbcItemReader === * SqlPagingQueryJdbcItemReader 선택시 마법사 \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:sqlpagingqueryjdbcitemreader1.png?450|}} {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:sqlpagingqueryjdbcitemreader2.png?450|}} \\ * SqlPagingQueryJdbcItemReader 사용시 대상 XML 설정 == == ===CustomizeDBReader=== * CustomizeDBReader 선택시 마법사 \\ ✔ 사용자 임의 지정 Reader를 등록하고 싶을 경우 사용하는 항목입니다. \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:customizedbreader.png?450|}} \\ \\ === 각 마법사내 입력 항목에 대한 설명 === == == ^ 구분 ^ 항목명 ^ 설명 ^ | File | Resource | 입력 대상이 되는 파일의 경로 및 파일명 설정 | | File | Field Name | 구분자, 고정길이 등에 의해 구분되어 Mapping 할 VO의 Field 설정 | | File | Column Length | 고정길이 방식으로 읽기 위한 고정길이 값 설정 | | File | Delimiter | 구분자 방식으로 읽기 위한 구분자 값 설정 | | File | VO Class | 데이터를 객체화 할 클래스 설정 | | DB | iBatis Statement | 사용자가 정의 해놓은 iBatis 설정 파일에서 사용할 쿼리 ID | | DB | Configuration File | SqlMapCofig 설정 파일 경로 및 파일명 설정 | | DB | Sql | 데이터베이스에 접근할 쿼리 설정| | DB | Row Mapper | ResultSet의 데이터를 VO로 Mapping 하도록 사용자가 RowMapper 인터페이스를 구현한 클래스 | | DB | PageSize | 쿼리 실행 시마다 데이터베이스에서 읽어오는 엔티티의 수 설정 | | DB | Sql-SortColumn | 쿼리 결과를 정렬하여 가져올 수 있는 기준 컬럼 설정 | | DB | Sql-SELECT | 쿼리의 SELECT 절 | | DB | Sql-FROM | 쿼리의 FROM 절 | | DB | Sql-WHERE | 쿼리의 WHERE 절 | | DB | Datasource Bean ID | 데이터베이스 연결을 위해 사용할 데이터소스의 빈ID | | DB | Database Type | 데이터베이스 종류 설정 | ==== 배치 작업 파일 생성시 Job Reader 적용 ==== - [[egovframework:dev2:bdev:imp:create_batch_job_wizard#사용법|Batch Job Wizard]]에서 새로운 배치 작업 파일 생성시 Step Add의 Reader 항목 우측 **Add** 버튼을 클릭한다. \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:batchjobwizard_addreader.png?450|}} \\ \\ - 기 설정된 Job Reader 항목 중 등록할 항목을 선택하고 OK 버튼을 클릭하여 Reader를 추가한다. \\ {{:egovframework:dev2:bdev:imp:create_batch_job_wizard:batchjobwizard_donereader.png?450|}} \\ \\ ==== 참고사항 ==== * 전자정부 표준프레임워크 배치개발환경에서 제공하는 기본 Job Reader 항목 \\ == == ^구분^항목명^설명^항목의 하위 구성 요소^ | File | [[#FixedFlatFileItemReader|FixedFlatFileItemReader]] | 스프링에서 제공하는 LineMapper, Tokenizer, FieldSetMapper를 사용하여 파일의 데이터를 고정길이 방식으로 읽는 ItemReader | org.springframework.batch.item.file.FlatFileItemReader,\\ org.springframework.batch.item.file.mapping.DefaultLineMapper,\\ org.springframework.batch.item.file.transform.FixedLengthTokenizer,\\ org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper | | File | [[#DelimitedFlatFileItemReader|DelimitedFlatFileItemReader]] | 스프링에서 제공하는 LineMapper, Tokenizer, FieldSetMapper를 사용하여 파일의 데이터를 구분자 방식으로 읽는 ItemReader | org.springframework.batch.item.file.FlatFileItemReader,\\ org.springframework.batch.item.file.mapping.DefaultLineMapper,\\ org.springframework.batch.item.file.transform.DelimitedLineTokenizer,\\ org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper | | File | [[#EgovFixedFlatFileItemReader|EgovFixedFlatFileItemReader]] | 전자정부에서 제공하는 LineMapper, Tokenizer, ObjectMapper를 사용하여 파일의 데이터를 고정길이 방식으로 읽는 성능 개선된 ItemReader | org.springframework.batch.item.file.FlatFileItemReader,\\ egovframework.brte.core.item.file.mapping.EgovDefaultLineMapper,\\ egovframework.brte.core.item.file.transform.EgovFixedLengthTokenizer,\\ egovframework.brte.core.item.file.mapping.EgovObjectMapper | | File | [[#EgovDelimitedFlatFileItemReader|EgovDelimitedFlatFileItemReader]] | 전자정부에서 제공하는 LineMapper, Tokenizer, ObjectMapper를 사용하여 파일의 데이터를 구분자 방식으로 읽는 성능 개선된 ItemReader | org.springframework.batch.item.file.FlatFileItemReader,\\ egovframework.brte.core.item.file.mapping.EgovDefaultLineMapper,\\ egovframework.brte.core.item.file.transform.EgovDelimitedLineTokenizer,\\ egovframework.brte.core.item.file.mapping.EgovObjectMapper | | File | [[#FixedMultiResourceItemReader|FixedMultiResourceItemReader]] | 스프링에서 제공하는 LineMapper, Tokenizer, FieldSetMapper를 사용하여 파일의 데이터를 고정길이 방식으로 읽는 ItemReader이며, 복수개의 파일을 읽음 | org.springframework.batch.item.file.MultiResourceItemReader,\\ org.springframework.batch.item.file.mapping.DefaultLineMapper,\\ org.springframework.batch.item.file.transform.FixedLengthTokenizer,\\ org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper | | File | [[#DelimitedMultiResourceItemReader|DelimitedMultiResourceItemReader]] | 스프링에서 제공하는 LineMapper, Tokenizer, FieldSetMapper를 사용하여 파일의 데이터를 구분자 방식으로 읽는 ItemReader이며, 복수개의 파일을 읽음 | org.springframework.batch.item.file.MultiResourceItemReader,\\ org.springframework.batch.item.file.mapping.DefaultLineMapper,\\ org.springframework.batch.item.file.transform.DelimitedLineTokenizer,\\ org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper | | File | [[#EgovFixedMultiResourceItemReader|EgovFixedMultiResourceItemReader]] | 전자정부에서 제공하는 LineMapper, Tokenizer, ObjectMapper를 사용하여 파일의 데이터를 고정길이 방식으로 읽는 성능 개선된 ItemReader이며, 복수개의 파일을 읽음| org.springframework.batch.item.file.MultiResourceItemReader,\\ egovframework.brte.core.item.file.mapping.EgovDefaultLineMapper,\\ egovframework.brte.core.item.file.transform.EgovFixedLengthTokenizer,\\ egovframework.brte.core.item.file.mapping.EgovObjectMapper | | File | [[#EgovDelimitedMultiResourceItemReader|EgovDelimitedMultiResourceItemReader]] | 전자정부에서 제공하는 LineMapper, Tokenizer, ObjectMapper를 사용하여 파일의 데이터를 구분자 방식으로 읽는 성능 개선된 ItemReader이며, 복수개의 파일을 읽음| org.springframework.batch.item.file.MultiResourceItemReader,\\ egovframework.brte.core.item.file.mapping.EgovDefaultLineMapper,\\ egovframework.brte.core.item.file.transform.EgovDelimitedLineTokenizer,\\ egovframework.brte.core.item.file.mapping.EgovObjectMapper | | File | [[#CustomizeFileReader|CustomizeFileReader]] | 사용자가 등록한 파일 ItemReader | 사용자 정의 | | DB | [[#IbatisPagingItemReader|IbatisPagingItemReader]] | 스프링에서 제공하는 SqlMapClient를 사용하여 DB데이터를 Ibatis방식으로 읽는 ItemReader이며, 페이지 단위로 읽음 | org.springframework.batch.item.database.IbatisPagingItemReader,\\ org.springframework.orm.ibatis.SqlMapClientFactoryBean | | DB | [[#CustomizedJdbcCursorItemReader|CustomizedJdbcCursorItemReader]] | 사용자가 정의한 RowMapper 를 사용하여 DB데이터를 Jdbc방식으로 읽는 ItemReader이며, 커서 단위로 읽음| org.springframework.batch.item.database.JdbcCursorItemReader,\\ RowMapper를 상속 받아 구현한 사용자 지정 Mapper Class | | DB | [[#SqlPagingQueryJdbcItemReader|SqlPagingQueryJdbcItemReader]] | 스프링에서 제공하는 SqlProvider와 사용자가 정의한 RowMapper를 사용하여 DB데이터를 Jdbc방식으로 읽는 ItemReader이며, 페이지 단위로 읽음| org.springframework.batch.item.database.JdbcPagingItemReader, \\ RowMapper를 상속 받아 구현한 사용자 지정 Mapper Class, \\ org.springframework.batch.item.database.support.SqlPagingQueryProviderFactoryBean | | DB | [[#CustomizeDBReader|CustomizeDBReader]] | 사용자가 등록한 DB ItemReader | 사용자 정의 |