Uma User Defined Property (UDP) é uma propriedade que é definida quando se constrói um fluxo de mensagens usando o editor de Fluxo de Mensagens. Esta propriedade pode ser usada pelo programa ESQL ou Java™ dentro dos nós do fluxo de mensagens, tal como um nó Compute.
A vantagem das UDPs é que seus valores podem ser alterados pela equipe operacional no tempo de implementação e de execução. Não é necessário alterar seus programas de aplicativos. Por exemplo, se você utilizar as UDPs para conter dados sobre seu centro de computadores, poderá configurar um fluxo de mensagens para um computador, tarefa ou ambiente específico no tempo de implementação, sem precisar alterar o código no nível do nó da mensagem.
Quando você 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 necessários no fluxo de mensagens, você também tem a opção (fornecida pela guia) de definir e fornecer valores iniciais para algumas propriedades definidas pelo usuário. Utilize a guia Propriedades Definidas pelo Usuário na parte inferior da janela de edição. Consulte a seção Editor de Fluxo de Mensagens para obter mais informações.
Consulte a Instrução DECLARE para obter detalhes da instrução DECLARE e consulte Acessando Propriedades Definidas pelo Usuário do Fluxo de Mensagens a partir de um Nó JavaCompute para obter informações adicionais sobre como utilizar um UDP em um nó JavaCompute.
Se você utilizar ESQL para acessar o UDP, o valor fornecido a um UDP quando definido em um fluxo de mensagens substituirá o valor dessa variável em seu programa ESQL.
Também é possível modificar o valor de uma UDP no momento da implementação usando o editor Broker Archive para editar o arquivo BAR. Esse valor substitui o valor que foi configurado quando você definiu o fluxo de mensagens.
O valor da UDP é configurado no nível de fluxo de mensagens e é o mesmo para todos os nós elegíveis que estão 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 do usuário chamada fuso horário, que é declarada por um esquema chamado mySchema, em um fluxo de mensagens chamado myFlow, a UDP estará disponível no tempo de execução para todos os nós em myFlow que suportam UDPs e que estejam contidos em mySchema.
As propriedades definidas pelo usuário podem ser consultadas, descobertas e configuradas no tempo de execução para alterar dinamicamente o comportamento de um fluxo de mensagens. É possível usar o API do Message Broker (também conhecido como o CMP API) ou o WebSphere Message Broker Explorer para manipular estas propriedades, que podem ser usadas por uma ferramenta de monitoramento de sistemas para executar ações automatizadas em resposta a situações que ela detecta nos sistemas monitorados.
Por exemplo, um fluxo de mensagens contém um nó Route, que é utilizado para diferenciar entre as classes de cliente que estão definidas na mensagem. O nó Route possui uma propriedade definida pelo usuário chamada ProcessClasses, que é configurada com um valor inicial de All. Quando ProcessClasses é configurado como Todos, o nó roteia mensagens de todas as classes do cliente para seu primeiro terminal para processamento imediato.
Quando certas condições são detectadas (por exemplo, o sistema de monitoramento detecta que a carga do pedido está fazendo com que o acordo de nível de serviço fique abaixo de sua meta), o nó Route deve ser configurado para aprovar os pedidos apenas de clientes de classe "Gold" para processamento imediato, enquanto outros pedidos do cliente são enviados para outro terminal de saída, que os enfileira para processamento posterior em lote. Assim, o aplicativo de monitoramento define ProcessClasses como Gold, para que o nó Route roteie as mensagens menos críticas para o segundo terminal.
Para ficar mais fácil saber o que faz uma propriedade definida pelo usuário, e quais valores elas podem ter, adote uma convenção de nomenclatura apropriada. Por exemplo, uma propriedade definida pelo usuário denominada property01, com um valor inicial de valueA não é útil como uma propriedade denominada RouteToAorB com um valor inicial de RouteA.
Para obter mais informações, consulte Configurando Propriedades Definidas pelo Usuário do Fluxo de Mensagens no Tempo de Execução em um Aplicativo CMP ou Configurando Propriedades Definidas pelo Usuário Dinamicamente no Tempo de Execução Usando o WebSphere Message Broker Explorer.
Uma substituição de arquivo BAR tem precedência sobre alterações no editor de Fluxo de Mensagens, e as alterações no editor de Fluxo de Mensagens têm precedência sobre alterações no código ESQL.