Uma UDP (Propriedade Definida pelo Usuário) é aquela definida ao construir um fluxo de mensagens utilizando o editor do Fluxo de Mensagens. Essa propriedade pode ser utilizada pelo programa ESQL dentro dos nós do fluxo de mensagens, como um nó Compute. Ela também pode ser utilizada como uma propriedade Java dentro do Java gerado por um nó JavaCompute.
A vantagem de UDPs é que seus valores podem ser alterados pela equipe operacional no tempo de implementação. Não é necessário alterar seus programas de aplicativos. Por exemplo, se você utilizar as UDPs para suspender os dados sobre seu centro de cálculo, poderá configurar um fluxo de mensagens para uma determinada máquina, tarefa ou ambiente no momento da implementação, sem ter que alterar o código no nível de código da mensagem.
Ao ativar o editor de Fluxo de Mensagens para criar um fluxo de mensagens ou modificar um fluxo de mensagens existente, bem como decidir quais nós são requeridos no fluxo de mensagens, você também tem a opção (fornecida pela guia) de definir e fornecer os valores iniciais de algumas propriedades definidas pelo usuário. Utilize a guia Propriedades Definidas pelo Usuário na parte inferior da janela de edição. Consulte Editor de Fluxo de Mensagens para obter informações adicionais sobre como fazer isso.
Além de ser definida utilizando o editor do Fluxo de Mensagens, uma UDP também deve ser definida utilizando uma instrução DECLARE com a palavra-chave EXTERNAL em qualquer programa ESQL que a utilize, ou o método getUserDefinedAttribute em qualquer nó JavaCompute que a utilize.
Consulte Instrução DECLARE para obter detalhes da instrução DECLARE e consulte Acessando as Propriedades Definidas pelo Usuário a partir de um Nó JavaCompute para obter informações adicionais sobre como utilizar uma UDP em um nó JavaCompute.
Qualquer valor que você fornecer a uma UDP ao definí-la em um fluxo de mensagens, substituirá o valor dessa variável no programa ESQL ou Java.
O valor de uma UDP também pode ser modificado no momento da implementação, utilizando o editor Broker Archive para editar o arquivo de barra. Esse valor substitui qualquer valor que tenha sido fornecido quando você definiu o fluxo de mensagens.
Cada UDP em um fluxo de mensagens deve ter um valor, fornecido quando a UDP é declarada ou pelo editor de Fluxo de Mensagens ou Broker Archive; caso contrário, ocorrerá um erro de tempo de implementação. No tempo de execução, depois que a UDP tiver sido declarada seu valor pode ser consultado pelas instruções do programa subseqüente, mas não pode ser modificada.
O valor da UDP é configurado no nível do fluxo e é igual para todos os nós elegíveis que estiverem contidos no fluxo. Um "nó elegível" é aquele que suporta as UDPs e está dentro do escopo da declaração que declara a UDP para o seu aplicativo. Por exemplo, se você utilizar o editor de Fluxo de Mensagens para alterar o valor de uma propriedade de usuário denominada "timezone", que é declarada em um esquema denominado "mySchema", em um fluxo de mensagens denominado "myFlow", a UDP ficará disponível no tempo de execução para todos os nós em myFlow que suportem as UDPs e que estejam dentro de mySchema.
De forma semelhante, se você utilizar o editor de Fluxo de Mensagens para alterar o valor de uma propriedade definida pelo usuário em um subfluxo, a propriedade recém-editada ficará disponível a todos os nós no subfluxo que suportarem as UDPs e que estiverem dentro do escopo da declaração. Isso não fica disponível, por exemplo, aos nós no fluxo pai.