WebSphere Extended Deployment Compute Grid, Version 6.1.1
             Betriebssysteme: AIX, HP-UX, Linux, Solaris, Windows,


Framework für Stapeldatenströme ((BDS)) verwenden

Dieser Artikel enthält ein Beispiel für die Verwendung des Framework für Stapeldatenströme (BDS)

Vorbereitungen

Geben Sie das richtige zu verwendende Muster an. Wählen Sie je nach benötigtem Datenstromtyp ein Muster aus. Wenn Sie z. B. Text aus einer Datei lesen möchten, wählen Sie FileReaderPattern aus. Eine Auswahl von Mustern finden Sie im Artikel Framework und Muster für Stapeldatenströme .

Prozedur

  1. Implementieren Sie die Schnittstelle des Musters:
    <codeblock>package com.ibm.websphere.samples;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.util.Properties; 
    
    import com.ibm.websphere.batch.devframework.configuration.BDSFWLogger;
    import com.ibm.websphere.batch.devframework.datastreams.patternadapter.FileReaderPattern;
    
    // FileReaderPattern implementieren
    public class TransactionListStream implements FileReaderPattern {
    	private Properties properties;
    	private BDSFWLogger logger;
    
    /**
       In der xJCL angegebene Eigenschaften speichern
    */
    
    	public void initialize(Properties props) {
    // Protokollfunktion erstellen
    		logger = new BDSFWLogger(props);
    		
    		if (logger.isDebugEnabled())
    			logger.debug("entering TransactionListInputStream.initialize()");
    		properties = props;
    
    	}
    
    
    // In dieser Methode müssen Sie die Geschäftslogik zur Verarbeitung
    // der Lesezeichenfolge hinzufügen
    	public Object fetchRecord(BufferedReader reader) throws IOException {
    		String str = null;
    		Posting posting = null;
    		if (logger.isDebugEnabled())
    logger.debug("Entering TransactionListInputStream.fetchRecord");
    		if(reader.ready()) {
    			str = reader.readLine();
    		}
    		if(str != null) {
    			
    			posting = _generateRecord(str);
    			
    		}
    				
    		if (logger.isDebugEnabled())
    			logger.debug("Exiting TransactionListInputStream.fetchRecord with " + posting);
    		return posting;
    		
    	}
    	// Helper-Methode, die die Lesezeichenfolge syntaktisch analysiert und ein
     // internes Objekt erstellt, das von anderen Codeabschnitten verwendet werden kann
    	private Posting _generateRecord(String str) {
    		Posting post = null;
    		String [] tokens = str.split(",", 3);
    	
    		if(tokens.length == 3) {
    			
    			String txTypeStr = tokens[0];
    			String actNoStr = tokens[1];
    			String amtStr = tokens[2];
    			
    			int txType = Integer.parseInt(txTypeStr);
    			double amt = Double.parseDouble(amtStr);
    			post = new Posting(txType,actNoStr,amt);
    			
    			
    		} else {
    			logger.error("Invalid csv string" + str);
    		}
    		if(logger.isDebugEnabled())
    			logger.debug("Loaded posting record " + post);
    		return post;
    	}
    	public void processHeader(BufferedReader reader) throws IOException {
    		// Verhinderung der Aktivierung für dieses Beispiel
    
    	}
    
    	
    
    }
    </codeblock>
  2. Referenzieren Sie die Klasse, die Sie soeben im vorherigen Schritt erstellt haben, zusammen mit der Unterstützungsklasse in der xJCL.

Beispiel

<codeblock><batch-data-streams>		
	 <bds>
          <logical-name>txlististream</logical-name>
          <props>
<prop name="IMPLCLASS" value= "com.ibm.websphere.samples.TransactionListStream"/>
            	<prop name="FILENAME" value="/opt/inputfile.txt"/>
            	<prop name="debug" value="true"/>                       
          </props>
<impl-class> com.ibm.websphere.batch.devframework.datastreams.patterns.TextFileReader </impl-class>
	</bds>
</batch-data-streams>

</codeblock>



Zugehörige Konzepte
Framework und Muster für Stapeldatenströme
Zugehörige Informationen
JDBCReaderPattern
JDBCWriterPattern
ByteWriterPattern
FileReaderPattern
FileWriterPattern
RecordOrientedDatasetReaderPattern
Task-Artikel    

Nutzungsbedingungen | Feedback

Letzte Aktualisierung: 24.09.2009 16.46 Uhr EDT
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.gridmgr.doc/info/scheduler/tbtchpttrnex.html