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


JDBCReaderPattern

Esse padrão é usado para recuperar dados de um banco de dados que usa uma conexão do Java Database Connectivity (JDBC).

Classes de Suporte

  1. CursorHoldableJDBCReader
    Essa classe é referida quando o padrão de uso do fluxo de entrada de JDBC recupera um conjunto de resultados no início da etapa e, em seguida, itera sobre todos eles a lógica de processamento da etapa. O CursorHoldableJDBCReader usa um bean de sessão com preservação de estado com uma origem de dados não-XA de cursor retido. Um JDBCReader de cursor retido que é implementado de forma que o cursor não seja perdido quando a transação é consolidada. Como resultado, o ResultSets não precisa ser preenchido novamente depois de cada ponto de verificação, o que aprimora o desempenho. Para usar o CursorHoldableJDBCReader, empacote o CursorHoldableSessionBean no aplicativo. Para criar o pacote, inclua a propriedade nonxadsjndiname=jndi_name_of_a_non-XA_data_source_to_database no arquivo de propriedades usado pelo BatchPackager. Por exemplo, nonxadsjndiname=jdbc/nonxads. Se você desejar incluir várias origens de dados não-XA, insira o seguinte: nonxadsjndiname=<jndi name1>;<jndi name2>...
    Restrição: Atualmente, o nome de referência de recurso da origem de dados JDBC é igual ao nome da Java Naming and Directory Interface (JNDI).
  2. JDBCReader

    Essa classe é referida quando o padrão de uso do fluxo de entrada de JDBC recupera um único resultado de uma consulta, que é usado e descartado depois de cada iteração da etapa.

  3. LocalJDBCReader

    Essa classe é referida quando os dados são lidos a partir de um banco de dados local.

Propriedades Obrigatórias

Tabela 1. Propriedades Obrigatórias
Propriedade Valor LocalJDBCReader CursorHoldableJDBCReader JDBCReader
PATTERN_IMPL_CLASS Classe que implementa a interface JDBCReaderPattern

Aplicável

Aplicável

Aplicável

ds_jndi_name Nome da JNDI de origem de dados.

Aplicável

Não aplicável

Aplicável

jdbc_url A URL de JDBC. Por exemplo, jdbc:derby:C:\\mysample\\CREDITREPORT.

Aplicável

Não aplicável

Não aplicável

jdbc_driver O driver JDBC. Por exemplo, org.apache.derby.jdbc.EmbeddedDriver

Aplicável

Não aplicável

Não aplicável

userid O ID do usuário do banco de dados. Por exemplo, Myid

Aplicável

Não aplicável

Não aplicável

pswd Senha de usuário. Por exemplo, mypwd Apenas LocalJDBCReader.

Aplicável

Não aplicável

Não aplicável

Propriedades Opcionais

Tabela 2. Propriedades Opcionais
Nome da Propriedade Valor Descrição LocalJDBCReader CursorHoldableJDCReader JDBCReader

debug

verdadeiro ou falso (o valor padrão é falso)

Ativa o rastreio detalhado neste fluxo de dados em lote.

Aplicável

Aplicável

Aplicável

Ativar Medida de Desempenho

verdadeiro ou falso (o valor padrão é falso)

Calcula o tempo total gasto nos fluxos de dados em lote e no método processRecord, se você estiver usando o GenericXDBatchStep.

Aplicável

Aplicável

Aplicável

Ativar Medida de Desempenho Detalhada

verdadeiro ou falso (o valor padrão é falso)

Fornece uma lista expandida detalhada do tempo gasto em cada método dos fluxos de dados em lote.

Aplicável

Aplicável

Aplicável

Definição de Interface

public interface JDBCReaderPattern {

	/**
	 * Esse método é invocado durante a fase de configuração da tarefa.
	 * 
	 * @param Propriedades props fornecidas no xJCL
	 */
	
public void initialize(Properties props);
	
	/**
	 * Esse método deve recuperar valores para as várias colunas da linha atual do objeto resultset fornecido.
	 * Tipicamente, esses dados seriam usados para preencher um objeto intermediário que seria retornado
	 * @param resultSet
	 * @return
	 */
	public Object fetchRecord(ResultSet resultSet);
	
	/**
	 * Esse método deve retornar uma consulta SQL que será usada durante a configuração do fluxo para recuperar todos os
	 * dados relevantes que serão processados como parte das etapas da tarefa
	 * @return objeto a ser usado durante a etapa do processo.
	 */
	public String getInitialLookupQuery();
	
	/**
	 * Esse método é chamado durante o Reinício da Tarefa. O token de reinício deve ser usado para criar uma consulta SQL que
	 * recuperará registros não processados anteriormente.
	 * Tipicamente o token de reinício será a chave primária na tabela e a consulta obterá todas as linhas com
  * valor da chave primária > restarttoken
	 * @param restartToken
	 * @return A consulta de reinício
	 */
	public String getRestartQuery(String restartToken);
	
	/**
	 * Esse método é chamado exatamente antes de um ponto de verificação ser utilizado.
	 * @return O método deve retornar um valor de cadeia que identifica o último registro lido pelo fluxo.
	 */
	public String getRestartTokens();
		
}

Exemplo de 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"/> <!-- apenas versões anteriores a 6103 -->
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.CursorHoldableJDBCReader</impl-class>
</bds>
</batch-data-streams>	        

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



Conceitos relacionados
Padrões e Estrutura de Fluxo de Dados em Lote
Informações relacionadas
JDBCWriterPattern
ByteWriterPattern
FileReaderPattern
FileWriterPattern
RecordOrientedDatasetReaderPattern
JPAReaderPattern
JPAWriterPattern
Tópico de Referência    

Termos de Uso | Feedback

Última atualização: 24/09/2009 14h24min35s EDT
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.gridmgr.doc/info/scheduler/rbtchpttrnjd.html