ByteReaderPattern
Das Muster "ByteReaderPattern" wird verwendet, um Bytedaten aus einer Datei zu lesen.
Unterstützungsklassen
Die Klasse "FileByteReader" stellt die Logik zum Öffnen und Lesen von Bytedaten der gegebenen Datei bereit.
Erforderliche Eigenschaften
Die folgenden Eigenschaften sind für das Muster erforderlich.
Eigenschaftsname | Wert |
---|---|
PATTERN_IMPL_CLASS | Klasse, die die Schnittstelle ByteReaderPattern implementiert |
FILENAME | Vollständiger Pfad zur Eingabedatei |
Optionale Eigenschaften
Die folgenden Eigenschaften sind für das Muster optional.
Eigenschaftsname | Wert | Beschreibung |
---|---|---|
debug | true oder false (der Standardwert ist false) | Aktiviert detailliertes Tracing in diesem Stapeldatenstrom. |
EnablePerformanceMeasurement | true oder false (der Standardwert ist false) | Berechnet die Gesamtzeit in den Stapeldatenströmen und in der Methode processRecord bei Verwendung des GenericXDBatchStep. |
EnableDetailedPerformanceMeasurement | true oder false (der Standardwert ist false) | Bietet eine detailliertere Aufgliederung der Zeit pro Methode des Stapeldatenstroms. |
file.encoding | Codierung der Datei. | Beispiel: 8859_1 |
AppendJobldToFileName | true oder false (der Standardwert ist false) | Hängt die Job-ID an den Dateinamen an, bevor die Datei geladen wird. |
Schnittstellendefinition
public interface ByteReaderPattern {
/**
* Wird vom Framework während der Konfiguration des Abschnitts aufgerufen
* @param props
*/
public void initialize(Properties props);
/**
*
* @param reader
* @throws IOException
*/
public void processHeader(BufferedInputStream reader) throws IOException;
/**
* Den nächsten Datensatz aus dem Eingabedatenstrom abrufen
* @param reader
* @return
* @throws IOException
*/
public Object fetchRecord(BufferedInputStream reader) throws IOException;
}
xJCL-Beispiel
<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>