ByteReaderPattern
ByteReaderPattern 패턴은 파일에서 바이트 데이터를 읽는 데 사용됩니다.
클래스 지원
FileByteReader 클래스는 지정된 파일에서 바이트 데이터 열기 및 읽기를 위한 로직을 제공합니다.
필수 특성
패턴에 다음 특성이 필요합니다.
특성 이름 | 값 |
---|---|
PATTERN_IMPL_CLASS | ByteReaderPattern 인터페이스를 구현하는 클래스 |
FILENAME | 입력 파일에 대한 전체 경로 |
선택적 특성
다음 특성은 패턴에 대해 선택사항입니다.
특성 이름 | 값 | 설명 |
---|---|---|
디버그 | true 또는 false(기본값은 false) | 이 일괄처리 데이터 스트림에 대한 자세한 추적을 사용으로 설정합니다. |
EnablePerformanceMeasurement | true 또는 false(기본값은 false) | GenericXDBatchStep을 사용 중인 경우, 일괄처리 데이터 스트림과 processRecord 메소드에서 소요된 전체 시간을 계산합니다. |
EnableDetailedPerformanceMeasurement | true 또는 false(기본값은 false) | 일괄처리 데이터 스트림의 각 메소드에서 소요된 시간의 자세한 추가 분석을 제공합니다. |
file.encoding | 파일의 인코딩입니다. | 예를 들어, 8859_1 |
AppendJobldToFileName | true 또는 false(기본값은 false) | 파일을 로드하기 전에 JobID를 파일 이름에 추가합니다. |
인터페이스 정의
public interface ByteReaderPattern {
/**
* Is called by the framework during Step setup stage
* @param props
*/
public void initialize(Properties props);
/**
*
* @param reader
* @throws IOException
*/
public void processHeader(BufferedInputStream reader) throws IOException;
/**
* Get the next record from the input stream
* @param reader
* @return
* @throws IOException
*/
public Object fetchRecord(BufferedInputStream reader) throws IOException;
}
xJCL 예
<batch-data-streams>
<bds>
<logical-name>inputStream</logical-name>
<props>
<prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoReader"/>
<prop name="file.encoding" value="8859_1"/>
<prop name="FILENAME" value="/opt/txlist.txt" />
<prop name="debug" value="true"/>
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.FileByteReader</impl-class>
</bds>
</batch-data-streams>