RecordOrientedDatasetReaderPattern
El patrón RecordOrientedDatasetReaderPattern se utiliza para leer datos de un conjunto de datos z/OS.
Clases de soporte
- ZFileStreamOrientedTextReader: lee datos de texto
- ZFileStreamOrientedByteReader: lee datos de bytes
- ZFileRecordOrientedDataReader: lee datos secuenciales
Propiedades obligatorias
Las propiedades siguientes son necesarias para el patrón.
Nombre de propiedad | Value | Descripción |
---|---|---|
PATTERN_IMPL_CLASS | Nombre de la clase Java™ | Clase que implementa la interfaz RecordOrientedDatasetReaderPattern |
DSNAME | Nombre de conjunto de datos | Por ejemplo, USER216.BATCH.RECORD.OUTPUT |
Propiedades opcionales
Para el patrón las propiedades siguientes son opcionales.
Nombre de propiedad | Value | Descripción |
---|---|---|
ds_parameters | Parámetros utilizados para abrir el conjunto de datos. | El valor predeterminado para ZFileRecordOrientedDataReader es rb,recfm=fb,type=record,lrecl=80 y el valor predeterminado para ZFileStreamOrientedByteReader y ZFileStreamOrientedTextReader es rt |
debug | true o false (el valor predeterminado es false) | Habilita el rastreo detallado en esta secuencia de datos por lotes. |
EnablePerformanceMeasurement | true o false (el valor predeterminado es false) | Calcula el tiempo total invertido en las secuencias de datos por lotes y el método processRecord, si se utiliza GenericXDBatchStep. |
EnableDetailedPerformanceMeasurement | true o false (el valor predeterminado es false) | Proporciona un desglose más detallado del tiempo invertido en cada método de las secuencias de datos por lotes. |
file.encoding | Codificación del archivo. | Por ejemplo, 8859_1. |
Definición de interfaz
public interface RecordOrientedDatasetReaderPattern {
/**
* Este método se invoca durante la fase de configuración de trabajo.
* Las propiedades con las especificadas en el xJCL.
* @parámetro props
*/
public void initialize(Properties props);
/**
* Este método sólo se invoca una vez inmediatamente después
* de abrir Zfile. Debe utilizarse para procesar información
* de cabecera, si la hay.
* @parámetro reader
* @emite una excepción IOException
*/
public void processHeader(ZFile reader) throws IOException;
/**
* Este método debería leer el siguiente registro del archivo Zfile
* y devolverlo en un formato adecuado (como objeto intermedio)
* @parámetro reader
* @return
* @emite una excepción IOException
*/
public Object fetchRecord(ZFile reader) throws IOException;
}
Ejemplo 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="DSNAME" value="USER216.BATCH.RECORD.INPUT"/>
<prop name="ds_parameters" value="rt"/>
<prop name="file.encoding" value="CP1047"/>
<prop name="debug" value="true"/>
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.ZFileStreamOrientedByteReader</impl-class>
</bds>
<bds>
<logical-name>outputStream</logical-name>
<props>
<prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoWriter"/>
<prop name="DSNAME" value="USER216.BATCH.RECORD.OUTPUT"/>
<prop name="ds_parameters" value="wt"/>
<prop name="file.encoding" value="CP1047"/>
<prop name="debug" value="${debug}"/>
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.ZFileStreamOrientedByteWriter</impl-class>
</bds>
</batch-data-streams>