JDBCReaderPattern

此模式用于使用 Java™ 数据库连接 (JDBC) 连接从数据库检索数据。

支持类

  1. CursorHoldableJDBCReader
    JDBC 输入流的使用模式在步骤开始检索一组结果,并通过步骤处理逻辑对这些结果进行迭代时引用此类。CursorHoldableJDBCReader 将有状态会话 bean 与可持有游标的非 XA 数据源一起使用。可持有游标的 JDBCReader 是通过以下方式实现的模式:落实事务时不丢失游标。因此,在每个检查点后不需要重新填充 ResultSets,这可改善性能。要使用 CursorHoldableJDBCReader,请在应用程序中打包 CursorHoldableSessionBean。要创建软件包,请将 nonxadsjndiname=jndi_name_of_a_non-XA_data_source_to_database 属性添加到 BatchPackager 使用的属性文件中。例如,nonxadsjndiname=jdbc/nonxads。 如果要添加多个非 XA 数据源,请输入以下内容:nonxadsjndiname=<jndi name1>;<jndi name2>...
    限制: 当前,JDBC 数据源的资源引用名称与 Java 命令和目录接口 (JNDI) 名称相同。
  2. JDBCReader

    当您的 JDBC 输入流的使用模式从查询中检索单个结果时会引用此类,在步骤的每个迭代后会使用并废弃该查询。

  3. LocalJDBCReader

    从本地数据库读取数据时引用此类。

必需属性

以下属性对于该模式是必需的。
表 1. 必需属性. 此表包含每个必需属性及其值,以及是 LocalJDBCReader 类、CursorHoldableJDBCReader 类还是 JDBCReader 类适用。
属性 LocalJDBCReader CursorHoldableJDBCReader JDBCReader
PATTERN_IMPL_CLASS 实现 JDBCReaderPattern 接口的类 适用 适用 适用
ds_jndi_name 数据源 JNDI 名称。 适用 不适用 适用
jdbc_url JDBC URL。例如,jdbc:derby:C:\\mysample\\CREDITREPORT 适用 不适用 不适用
jdbc_driver JDBC 驱动程序。例如,org.apache.derby.jdbc.EmbeddedDriver 适用 不适用 不适用
userid 数据库的用户标识。例如,Myid 适用 不适用 不适用
pswd 用户密码。例如,mypwd。 仅 LocalJDBCReader。 适用 不适用 不适用

可选属性

以下属性对于该模式是可选的。
表 2. 可选属性. 此表包含每个可选属性及其值和描述,以及是 LocalJDBCReader 类、CursorHoldableJDBCReader 类还是 JDBCReader 类适用。
属性名称 描述 LocalJDBCReader CursorHoldableJDCReader JDBCReader
CursorHoldabilityEnabled true 或 false(缺省值为 false) 为此 BDS 阅读器启用游标可持有性 适用 适用 适用
debug true 或 false(缺省值为 false) 在此批处理数据流上启用详细跟踪。 适用 适用 适用
EnablePerformanceMeasurement true 或 false(缺省值为 false) 如果正使用 GenericXDBatchStep,那么计算批处理数据流和 processRecord 方法中所花的总时间。 适用 适用 适用
EnableDetailedPerformanceMeasurement true 或 false(缺省值为 false) 提供在批处理数据流的每个方法中花费的更为详细的时间细目。 适用 适用 适用

接口定义

public interface JDBCReaderPattern {

	/**
	 * This method is invoked during the job setup phase. 
	 * 
	 * @param props properties provided in the xJCL 
	 */
	
	public void initialize(Properties props);
	
	/**
	 * This method should retrieve values for the various columns for the current row from the given resultset
   * object. Typically this data would be used to populate an intermediate object which would be returned
	 * @param resultSet
	 * @return
	 */
	public Object fetchRecord(ResultSet resultSet);
	
	/**
	 * This method should return a SQL query that will be used during setup of the stream to retrieve all
   * relevant data that would be processed part of the job steps
	 * @return object to be used during process step.
	 */
	public String getInitialLookupQuery();
	
	/**
	 * This method gets called during Job Restart. The restart token should be used to create an SQL query
   * that will retrieve previously unprocessed records. Typically the restart token would be the primary
   * key in the table and the query would get all rows with 
	 * primary key value > restarttoken
	 * @param restartToken
	 * @return The restart query
	 */
	public String getRestartQuery(String restartToken);
	
	/**
	 * This method gets called just before a checkpoint is taken.
	 * @return The method should return a string value identifying the last record read by the stream.
	 */
	public String getRestartTokens();
		
}

CursorHoldableJDBCReader 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="ds_jndi_name" value="jdbc/fvtdb"/>
<prop name="debug" value="true"/>
<prop name="DEFAULT_APPLICATION_NAME" value="XDCGIVT"/> 
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.CursorHoldableJDBCReader</impl-class>
</bds>
</batch-data-streams>

LocalJDBCReader xJCL example

<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="jdbc_url" value="jdbc:derby:C:\\mysample\\CREDITREPORT"/>
<prop name="jdbc_driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<prop name="user_id" value="myuserid"/>
<prop name="pswd" value="mypswd"/>
<prop name="debug" value="true"/>
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.LocalJDBCReader</impl-class>
</bds>
</batch-data-streams>

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rgrid_btchpttrnjd
文件名:rgrid_btchpttrnjd.html