ByteWriterPattern
Le masque ByteWriterPattern est utilisé pour inscrire des données d'octet dans un fichier.
Classes prises en charge
La classe FileByteWriter fournit la logique d'ouverture d'un fichier particulier et d'écriture d'octets dans ce fichier. Selon les propriétés spécifiées, elle peut remplacer le contenu existant du fichier ou le compléter (mode append actif). Lors d'un redémarrage, le fichier est toujours ouvert en mode append.
Propriétés requises
Les propriétés suivantes sont
requises pour le masque.
Nom de la propriété | valeur |
---|---|
PATTERN_IMPL_CLASS | Classe implémentant l'interface ByteWriterPattern |
FILENAME | Chemin complet vers le fichier d'entrée |
Propriétés facultatives
Les propriétés suivantes sont
optionnelles pour le masque.
Nom de la propriété | valeur | Description |
---|---|---|
debug | true ou false (la valeur par défaut est false) | Active le traçage détaillé sur ce flux de données par lots. |
EnablePerformanceMeasurement | true ou false (la valeur par défaut est false) | Calcule le temps écoulé dans les flux de données par lots et la méthode processRecord, si vous utilisez GenericXDBatchStep. |
EnableDetailedPerformanceMeasurement | true ou false (la valeur par défaut est false) | Fournit un arrêt plus détaillé du temps écoulé dans chaque méthode des flux de données par lots. |
file.encoding | Codage du fichier. | Par exemple, 8859_1 |
AppendJobldToFileName | true ou false (la valeur par défaut est false) | Ajoute l'ID du travail au nom de fichier avant le chargement du fichier. |
append | true ou false (la valeur par défaut est true) | Détermine si le fichier doit être ouvert en mode append. Important : Lors d'un redémarrage, le fichier est toujours ouvert en mode append.
|
Définition de l'interface
public interface ByteWriterPattern {
/**
* Invoked during the step setup phase
* @param props
*/
public void initialize(Properties props);
/**
* Writes the given object onto the given outputstream. Any processing
* that needs to be done before writing can be added here
* @param out
* @param record
* @throws IOException
*/
public void writeRecord(BufferedOutputStream out, Object record) throws IOException;
/**
* Write header information if any
* @param out
* @throws IOException
*/
public void writeHeader(BufferedOutputStream out) throws IOException;
/**
* This method can be optionally called during process step to explicity
* initialize and write the header.
* @param header
*/
public void writeHeader(BufferedOutputStream out, Object header) throws IOException;
}
Exemple xJCL
<batch-data-streams>
<bds>
<logical-name>outputStream</logical-name>
<props>
<prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoWriter"/>
<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.FileByteWriter</impl-class>
</bds>
</batch-data-streams>