Considere as seguintes restrições e fatores ao desenvolver nós
definidos pelo usuário:
- Não é suportado fazer a interface de um nó definido pelo usuário
C para Java™ e fornece um wrapper JNI. Essa restrição
existe porque o broker inicializa internamente uma JVM, que está indisponível
por meio da interface da extensão definida pelo usuário. A JVM é inicializada com vários parâmetros que são
específicos dos requisitos do broker. Como existe somente uma JVM em um processo, quem a inicializa
primeiro especifica esses parâmetros. Se um nó definido pelo usuário
utilizar Java e o intermediário for inicializado primeiro,
esses parâmetros podem não ser adequados para o nó definido pelo
usuário. Se o nó definido pelo usuário criar a JVM antes do intermediário
iniciar, o intermediário pode não funcionar corretamente.
- Os nós de entrada definidos pelo usuário podem suportar apenas os analisadores XML, BLOB e WebSphere MQ.
- Evite utilizar funções específicas de um sistema operacional.
Se você codificar dessa maneira, suas extensões definidas pelo usuário poderão funcionar em diversos sistemas operacionais sem que sejam
necessárias alterações no código de origem.
- Sempre coloque um nó definido pelo usuário em um esquema não padrão, porque um nó definido pelo usuário em um esquema do broker é reconhecido por outros fluxos de mensagens por seu nome qualificado de esquema. Por exemplo, se um nó definido pelo usuário for nomeado como ErrorHandler e ele estiver no esquema do broker com.ibm.mb.toolkit, ele será referenciado como com.ibm.mb.toolkit.ErrorHandler.
Se um segundo provedor também tiver um manipulador de erros chamado ErrorHandler e ele estiver em um esquema do broker com.xxx.product, ele será referenciado como com.xxx.product.ErrorHandler.
Um nó definido pelo usuário em um esquema padrão é endereçado apenas por seu nome.
Assim, se dois provedores diferentes desenvolverem dois manipuladores de erros não relacionados e ambos forem nomeados como ErrorHandler e colocados em um esquema padrão, quando ambos os nós definidos pelo usuário estiverem no usuário de plug-ins para um terceiro usuário, a referência para ErrorHandler será ambígua.
- Se desejar utilizar um subfluxo para criar um nó definido pelo usuário, leia a seção de limitações no seguinte tópico: Utilizando um Subfluxo Como um Nó Definido Pelo Usuário.
Para implementar um nó
definido pelo usuário, conclua as seguintes tarefas na ordem especificada: