JDBCReaderPattern

이 패턴은 JDBC(Java™ Database Connectivity) 연결을 사용하여 데이터베이스에서 데이터를 검색하는 데 사용됩니다.

클래스 지원

  1. CursorHoldableJDBCReader
    JDBC 입력 스트림의 사용 패턴이 단계 시작에서 결과 세트를 검색한 다음 step-processing 로직을 통해 반복하는 경우 이 클래스가 참조됩니다. CursorHoldableJDBCReader는 커서 홀드 가능, 비-XA 데이터 소스가 있는 stateful 세션 Bean을 사용합니다. 커서 홀드 가능 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 데이터 소스의 자원 참조 이름은 JNDI(Java Naming and Directory Interface) 이름과 동일합니다.
  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 데이터베이스의 사용자 ID. 예를 들어, Myid입니다. 적용 가능 적용 불가능 적용 불가능
pswd 사용자 비밀번호. 예를 들어, mypwd입니다. LocalJDBCReader 전용입니다. 적용 가능 적용 불가능 적용 불가능

선택적 특성

다음 특성은 패턴에 대해 선택사항입니다.
표 2. 선택적 특성. 테이블은 각 필수 특성, 해당 값과 설명 및 LocalJDBCReader 클래스, CursorHoldableJDBCReader 클래스 또는 JDBCReader 클래스가 적용 가능한지 여부를 포함합니다.
특성 이름 설명 LocalJDBCReader CursorHoldableJDCReader JDBCReader
CursorHoldabilityEnabled true 또는 false(기본값은 false) 이 BDS 리더에 대한 커서 홀드 기능을 사용합니다. 적용 가능 적용 가능 적용 가능
디버그 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 예

<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