Uma System Programming Interface (SPI) é uma extensão plugável para o ambiente de execução. As SPIs do Compute Grid são configuradas através de um arquivo de propriedades que identifica as SPIs instaladas e seus nomes de classes de implementação.
Arquivo de propriedade | Atributo |
---|---|
Nome | xd.spi.properties |
Local | <Diretório de instalação WAS>/propriedades |
Formato | <nome da SPI>=<classe de implementação da SPI> |
O propósito da SPI do parametrizador é dividir a tarefa de nível superior em várias subtarefas. A SPI do parametrizador determina o número de subtarefas a serem criadas, e as propriedades de entrada transmitidas a cada subtarefa. Tipicamente, as propriedades de entrada contêm informações para as partes de dados que processam uma subtarefa específica. A implementação da SPI do parametrizador é obrigatória.
Há um parametrizador SPI padrão que fornece as funcionalidades básicas do parametrizador genérico. Para chamar esta implementação, no arquivo xd.spi.properties, configure a propriedade spi.parallel.Parameterizer com o valor com.ibm.ws.batch.parallel.BuiltInParameterizer. Para especificar a quantidade de sub-tarefas, use a propriedade de entrada com.ibm.wsspi.batch.parallel.jobs=N, onde N é a quantidade da sub-tarefa. Para especificar uma propriedade exclusiva para uma instância de sub-tarefa específica, use a propriedade com.ibm.wsspi.batch.parallel.prop.<property_name>.<subjob>=<value> onde a sub-tarefa é a instância da sub-tarefa (1< subjob < N). Todas as outras propriedades no formato <property_name>= <value> são visíveis a todas as sub-tarefas.
A SPI de sincronização fornece o controle durante os vários estágios do ciclo de vida da transação lógica. Por exemplo, o Begin, beforeCompletion, afterCompletion, etc. É possível usar esses pontos de controle para retroceder a transação lógica, se necessário.
A SPI SubJobCollector coleta informações relacionadas a uma execução de subtarefa. Em uma implementação típica, as informações de progresso sobre uma subtarefa são armazenadas como um objeto que pode ser externalizado dentro do contexto da subtarefa. Quando o contêiner em lote invoca a SPI do coletor, as informações previamente armazenadas dentro do contexto da subtarefa são retornadas.
A SPI SubJobAnalyzer é usada para analisar informações coletadas previamente usando a SPI SubJobCollector. Em uma implementação típica, a SPI SubJobAnalyzer é usada para agregar informações obtidas de todas as subtarefas para determinar o código de retorno consolidado para a tarefa de nível superior. A SPI SubJobAnalyzer é chamada durante o processamento de ponto de verificação e na conclusão da tarefa.