[AIX HP-UX Linux Solaris Windows]This topic applies only on the z/OS operating system.

Using the batch data stream (BDS) framework

This topic shows you an example of how to use the batch data stream (BDS) framework.

Before you begin

Identify the correct pattern to use. Select a pattern based on what type of data stream you need. For example, if you want to read text from a file, then select the FileReaderPattern. See Batch data stream framework and patterns for a selection of patterns.

Procedure

  1. Implement the pattern interface:
    <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;
    
    // Implement the FileReaderPattern
    public class TransactionListStream implements FileReaderPattern {
    	private Properties properties;
    	private BDSFWLogger logger;
    
    /**
       Save properties specified in the xJCL
    */
    
    	public void initialize(Properties props) {
    // create logger
    		logger = new BDSFWLogger(props);
    		
    		if (logger.isDebugEnabled())
    			logger.debug("entering TransactionListInputStream.initialize()");
    		properties = props;
    
    	}
    
    
    // This method is where you should add the business logic of processing the read //string
    	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 method that parses the read string and creates an internal object for use ///by other parts of the code
    	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 {
    		// NO OP for this sample
    
    	}
    
    	
    
    }
    </codeblock>
  2. Reference the class that you created in the previous step, along with the supporting class in the xJCL.

Example

<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>

What to do next

Install the application.



Related concepts
Batch data stream framework and patterns
Related information
JDBCReaderPattern
JDBCWriterPattern
ByteReaderPattern
ByteWriterPattern
FileReaderPattern
FileWriterPattern
JPAReaderPattern
JPAWriterPattern
PureQueryWriterPattern
PureQueryReaderPattern
[z/OS] RecordOrientedDatasetReaderPattern
[z/OS] RecordOrientedDataSetWriterPattern
Installing the batch application
Task topic    

Terms of Use | Feedback

Last updated: Oct 14, 2010 12:24:18 PM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=v700compg&product=was-nd-mp&topic=tgrid_btchpttrnex
File name: tgrid_btchpttrnex.html