Considerações sobre Encadeamento para Extensões Definidas pelo Usuário

Os nós de processamento de mensagem e os analisadores devem trabalhar em um ambiente de instâncias múltiplas e encadeamentos múltiplos. Vários objetos de nó ou objetos analisadores estão disponíveis, cada um com vários elementos de sintaxe e vários encadeamentos podem estar executando métodos nesses objetos.

Uma instância de um nó de processamento de fluxo de mensagens é compartilhada e utilizada por todos os encadeamentos que servem ao fluxo de mensagens no qual o nó está definido. Analisadores são chamados no mesmo encadeamento que os nós; portanto, se o fluxo estiver utilizando diversos encadeamentos, então, os analisadores também são.

Uma extensão definida pelo usuário deve utilizar esse modelo. Se um nó definido pelo usuário requer dados globais ou recursos, você deve proteger os dados globais ou recursos, utilizando semáforos para serializar o acesso nos encadeamentos. No entanto, essa serialização pode resultar em gargalos de desempenho. Evite utilizar dados globais e recursos para criar uma solução mais escalável.

As funções implementadas pelas extensões definidas pelo usuário devem ser reentrantes e quaisquer funções que elas chamarem também devem ser reentrantes. Todas as funções utilitárias de extensões definidas pelo usuário são completamente reentrantes.

Apesar de uma extensão definida pelo usuário poder criar encadeamentos adicionais, se necessário, todas as funções de utilitário C e métodos Java devem ser chamados no mesmo encadeamento que chamou a função cniEvaluate em C ou o método evaluate em Java, conforme apropriado para a linguagem na qual o nó é gravado. Se o mesmo encadeamento não for utilizado, seu código pode comprometer a integridade do intermediário e provocar um comportamento imprevisível. Quaisquer encadeamentos adicionais não devem chamar a API de extensão definida pelo usuário. A API deve ser utilizada somente a partir do encadeamento principal chamado pelo Intermediário.

Para obter in formações sobre a função cniEvaluate, consulte cniEvaluate.

Conceitos relacionados
Nós de Entrada Definidos pelo Usuário
Modelo de Execução de Extensões Definidas pelo Usuário
Tarefas relacionadas
Criando um Nó Input em C
Estendendo o Recurso de um Nó Input C
Criando um Nó de Entrada em Java
Referências relacionadas
cniDispatchThread
Informações relacionadas
API de Extensões Definidas pelo Usuário Java
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:13:06

as01460_