Os BDSs (fluxos de dados em lote) são objetos Java que fornecem uma abstração para o fluxo de dados processado por uma etapa em lote. Uma etapa em lote pode ter zero ou mais objetos BDS associados. Os terminais de Compute Grid tornam o BDS associado à etapa em lote disponível no tempo de execução. Os terminais de Compute Grid também gerenciam o ciclo de vida de um BDS chamando os retornos de chamada específicos do lote.
Um objeto BDS implementa a interface com.ibm.websphere.batch.BatchDataStream. Essa interface é agnóstica ao servidor. O objeto de implementação pode recuperar dados de qualquer tipo de origem de dados, por exemplo, arquivos, bancos de dados, etc. Os métodos de retorno de chamada na interface BatchDataStream permitem que os terminais de Compute Grid gerenciem o BDS no tempo de execução. Um dos principais recursos de um BDS é sua capacidade de transportar a sua posição atual no fluxo para o terminais de Compute Grid e a capacidade de posicionar-se em um determinado local no fluxo de dados. Esse recurso permite que os terminais de Compute Grid gravem (no banco de dados dos terminais de Compute Grid) quantos dados uma etapa em lote processou. Essas informações são gravadas nos pontos de verificação. Portanto, o terminais de Compute Grid poderá reiniciar uma tarefa em lote a partir de uma posição registrada no fluxo de dados, se a tarefa for cancelada ou falhar de uma maneira recuperável.
A seguir estão os principais métodos da interface BatchDataStream. Consulte a API da interface BatchDataStream para obter informações adicionais.
A interface BatchDataStream não possui métodos para recuperar ou gravar os dados. Não há métodos getNextRecord e putNextRecord definidos na interface que uma etapa em lote chamaria para ler ou gravar no objeto BDS. Os métodos de transmissão de dados entre a etapa em lote e o objeto BDS são deixados até a implementação do objeto BDS. Revise as amostras de lotes suportadas por este produto para ver os exemplos de como implementar os fluxos de dados em lote.
Ambiente de transação
Todos os métodos de um objeto BDS são chamados em uma transação global. Não há garantias de que qualquer chamada de método consecutiva a um objeto BDS ocorra na mesma transação, já que a transação é de propriedade dos terminais de Compute Grid, não do objeto BDS.